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

पोस्टग्रेस फ़ंक्शन से अस्थायी तालिका कैसे वापस करें?

अस्थायी तालिका

शीर्षक में अपने प्रश्न का उत्तर देने के लिए:
एक नहीं "पोस्टग्रेस फ़ंक्शन से एक अस्थायी तालिका लौटाएं"। अस्थायी टेबल बनाई गई हैं और उसी सत्र में उसी उपयोगकर्ता को स्वतः दिखाई देने लगता है. सत्र के अंत में (या इससे पहले) वे स्वचालित रूप से हटा दिए जाते हैं।

टेबल फ़ंक्शन

लेकिन एक सेट-रिटर्निंग फ़ंक्शन (a.k.a. "टेबल फ़ंक्शन") का उपयोग तालिका की तरह ही किया जा सकता है:

CREATE OR REPLACE FUNCTION getresourceinfo(tablename regclass, opened_path int)
  RETURNS TABLE (pathid int, name varchar, pbs varchar
               , parentid varchar, resid int) AS
$func$ 
BEGIN

RETURN QUERY EXECUTE format(
  'SELECT t.pathid, t.name, t.pbs, t.parentid, t.resid
   FROM  ' || tablename || ' t
   WHERE  t.opened_path = $1'
   )
USING opened_path;

END
$func$ LANGUAGE plpgsql;

केवल उन तालिकाओं के समूह के लिए समझ में आता है जो सभी हार्ड कोडित कॉलम नामों को समान डेटा प्रकार के साथ साझा करते हैं।
कॉल करें (जैसे किसी तालिका से चयन करना):

SELECT * FROM getresourceinfo(1, 'my_schema.my_tbl')

डेटा प्रकार क्यों regclass तालिका पैरामीटर के लिए?
तालिका नाम PostgreSQL फ़ंक्शन पैरामीटर के रूप में

कर्सर

पूर्णता के लिए:कोई एक CURSOR लौटा सकता है , जो एक बहुत ही समान अवधारणा होगी जो आप मांगते हैं। यहाँ मैनुअल में विवरण।
लेकिन मैं शायद ही कभी कर्सर का उपयोग करता हूं। तालिका के कार्य अधिकांश समय अधिक व्यावहारिक होते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EF Core GroupBy चुनिंदा डिस्टिंक्ट काउंट के साथ

  2. PostgreSQL - अद्यतन विफल होने पर पंक्ति सामग्री लौटाएं

  3. PostgreSQL में केवल अल्फ़ान्यूमेरिक वर्ण वाली पंक्तियों को वापस करने के 2 तरीके

  4. PostgreSQL में किसी दिनांक से दिनों को घटाएं

  5. Django और PostgreSQL को दो अलग-अलग EC2 उदाहरणों पर सेट करना