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

Postgresql में गतिशील रूप से जेनरेट किया गया कर्सर

क्या आपको वास्तव में स्पष्ट कर्सर की आवश्यकता है? यदि आपको गतिशील SQL पर पुनरावृति की आवश्यकता है, तो आप FOR IN EXECUTE . का उपयोग कर सकते हैं . यह गतिशील SQL के लिए अंतर्निहित (आंतरिक) कर्सर पर लूप है

FOR db_rec IN EXECUTE v_sql_dynamic
LOOP
  ..
END LOOP

थोड़ा अधिक जटिल समाधान दस्तावेज़ीकरण में वर्णित है - OPEN FOR EXECUTE :

do $$
declare r refcursor; rec record;
begin 
  open r for execute 'select * from pg_class'; 
  fetch next from r into rec;
  while found 
  loop
    raise notice '%', rec; 
    fetch next from r into rec; 
  end loop;
  close r; 
end $$;

इस प्रकार के कर्सर के साथ, आप FOR IN . का उपयोग नहीं कर सकते हैं




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. चुनी गई LC_CTYPE सेटिंग के लिए LATIN1 एन्कोडिंग की आवश्यकता होती है

  2. Postgres डेटाबेस का उपयोग करके मैं जावा में एसिंक्रोनस/इवेंट-संचालित LISTEN/NOTIFY समर्थन कैसे प्राप्त करूं?

  3. जब डेटाबेस का नाम सभी बड़े अक्षरों में हो तो rPostgreSQL का उपयोग करके Postgresql में टेबल लिखना

  4. PostgreSQL:कॉलम द्वारा क्रम, विशिष्ट गैर-शून्य मान के साथ LAST

  5. अनुरोधों और psycopg2 . के साथ पोस्टग्रेज़ में Json बनाएँ/सम्मिलित करें