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

postgresql, रिकॉर्ड डेटा प्रकार में कॉलम की पहचान नहीं कर सका

समस्या यह है कि आप एक पैरामीटर पास कर रहे हैं (db_row ) प्रकार का record SQL कथन के लिए, लेकिन ऐसे मान में SQL इंजन के लिए कोई ज्ञात संरचना नहीं है। आप इसे तालिका प्रकार में भी नहीं डाल सकते हैं।

एक बदसूरत कामकाज मैं इसके बारे में सोच सकता हूं कि रिकॉर्ड को इसके टेक्स्ट प्रस्तुतिकरण (जो टाइप आउटपुट फ़ंक्शन के लिए कॉल के साथ काम करता है) और फिर वांछित तालिका प्रकार पर परीक्षण डालें।

यह नमूना कोड है जो दर्शाता है कि मेरा क्या मतलब है:

DO $$
DECLARE
   r record;
   n name;
BEGIN
   /* find all tables with a column "oid" */
   FOR r IN
      SELECT t.*
         FROM pg_class t
              JOIN pg_attribute a ON a.attrelid = t.oid
         WHERE a.attname = 'oid'
   LOOP
      /* get the table name */
      EXECUTE format(
                 'SELECT ($1::text::%s).relname',
                 'pg_class'
              ) INTO n USING r;
      RAISE NOTICE 'Table name: %', n;
   END LOOP;
END;
$$;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ACI पर Carto/Postgresql के लिए लगातार डेटा सेट करना

  2. जब मेरे पास पहले से ही एक अनुक्रमणिका है तो मेरी SQL डेटाबेस तालिका में प्राथमिक कुंजी कैसे और क्यों जोड़ें?

  3. Psycopg2 अजगर पुस्तकालय के साथ SQL गतिशील क्वेरी का निर्माण करें और अच्छे रूपांतरण प्रकार के टूल का उपयोग करें

  4. पोस्टग्रेज में अंतिम सम्मिलित सीरियल आईडी चुनें/प्रदर्शित करें

  5. एसएसएल के साथ जेडीबीसी के माध्यम से Google क्लाउड पोस्टग्रेएसक्यूएल से कनेक्शन