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

Postgres . में एक चुनिंदा क्वेरी में FROM में एक स्कीमा नाम और तालिका का नाम गतिशील रूप से पास करें

आपको स्कीमा और तालिका के लिए उन स्थानीय चरों की आवश्यकता नहीं है। प्रश्नों के निर्माण के लिए प्रारूप विकल्प का उपयोग करें और EXECUTE इसे गतिशील रूप से चलाने के लिए

CREATE OR REPLACE FUNCTION xx.fn_build_test_(
 IN p_var_archive_schema character varying,
 IN  p_var_archive_table character varying )
 RETURNS record AS
 $BODY$
 DECLARE
  l_var_test VARCHAR[];

 BEGIN

 SELECT  array
  ( SELECT TO_CHAR(column_name,'YYYYMMDD')
    FROM "test_table"
   WHERE col1 = 1
   ) INTO l_var_test;

   EXECUTE format (
     'select col_name FROM %I.%I',
         p_var_archive_schema,p_var_archive_table) 
      --INTO rec_variable;
END;
$BODY$
LANGUAGE plpgsql
VOLATILE SECURITY INVOKER; 

यदि आप एक गतिशील क्वेरी का परिणाम वापस करना चाहते हैं जिसका आप उपयोग कर सकते हैं

RETURNS TABLE विकल्प चुनें और फिर RETURN QUERY EXECUTE do करें क्वेरी से परिणाम वापस करने के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में Arrays की तुलना कैसे करें

  2. पर्ल - डीबीआई और .pgpass

  3. गो sql - तैयार स्टेटमेंट स्कोप

  4. मैं प्रत्येक क्वेरी में अलग-अलग LIMIT के साथ SQL क्वेरी का परिणाम कैसे बनाऊं?

  5. Postgresql क्वेरी के लिए उपयोगकर्ता खोज स्ट्रिंग को कैसे पार्स करें?