PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

डीओ ब्लॉक में एक चुनिंदा क्वेरी कैसे करें?

DO कमांड बनाम PL/pgSQL फ़ंक्शन

DO आदेश पंक्तियों को वापस नहीं करता है। आप NOTICES भेज सकते हैं या RAISE अन्य संदेश (भाषा plpgsql के साथ) या आप एक (अस्थायी) तालिका में लिख सकते हैं और बाद में SELECT इससे बचने के लिए।

लेकिन वास्तव में, इसके बजाय एक (plpgsql) फ़ंक्शन बनाएं, जहां आप रिटर्न प्रकार को RETURNS के साथ परिभाषित कर सकते हैं खंड या OUT / INOUT पैरामीटर और फ़ंक्शन से विभिन्न तरीकों से वापसी।

यदि आप नहीं चाहते कि कोई फ़ंक्शन अन्य कनेक्शनों के लिए सहेजा और दृश्यमान हो, तो एक "अस्थायी" फ़ंक्शन पर विचार करें, जो एक गैर-दस्तावेजी लेकिन अच्छी तरह से स्थापित विशेषता है:

  • PostgreSQL में एक अस्थायी फ़ंक्शन कैसे बनाएं?

generate_series() समस्या के लिए

मौजूदा समस्या के लिए आपको किसी की आवश्यकता नहीं है इस का। इसके बजाय इस सरल क्वेरी का प्रयोग करें:

SELECT row_number() OVER ()    AS running_month
     , extract('year'  FROM m) AS year
     , extract('month' FROM m) AS month
FROM   generate_series(timestamp '2012-04-01'
                     , timestamp '2016-01-01'
                     , interval '1 month') m;

db<>फिडल यहाँ

क्यों?

  • PostgreSQL में दो तिथियों के बीच समय श्रृंखला उत्पन्न करना


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubuntu 16.04 पर PostgreSQL डेटाबेस बनाना और हटाना

  2. स्कीमा पर उपयोग अनुदान वास्तव में क्या करता है?

  3. डेटा खोए बिना PostgreSQL को संस्करण 9.6 से संस्करण 10.1 में कैसे अपग्रेड करें?

  4. एक ही प्राथमिक कुंजी के लिए एक मैप किए गए वर्ग में SQLAlchemy एकाधिक विदेशी कुंजी

  5. सरणी के साथ चयन कैसे करें psql में मान खंड शामिल है