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

एक Postgresql फ़ंक्शन में एक परिणामसेट पास करना

आप एक कर्सर का उपयोग कर सकते हैं , लेकिन न्यूनतम गणना के लिए यह बहुत अव्यावहारिक है।

मैं एक अस्थायी तालिका का उपयोग करूंगा/करूंगी उस उद्देश्य के लिए, और डायनामिक SQL . में उपयोग के लिए तालिका नाम पास करें :

CREATE OR REPLACE FUNCTION f_min_id(_tbl regclass, OUT min_id int) AS 
$func$
BEGIN

EXECUTE 'SELECT min(id) FROM ' || _tbl
INTO min_id;

END  
$func$ LANGUAGE plpgsql;

कॉल करें:

CREATE TEMP TABLE foo ON COMMIT DROP AS
SELECT id, name
FROM   users
LIMIT  50;

SELECT f_min_id('foo');

प्रमुख बिंदु

-> SQLfiddle डेमो



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL LIMIT और OFFSET क्वेरी का उपयोग करके सभी रिकॉर्ड का चयन करना

  2. अपने जेसन प्रतिनिधित्व से आईपीएडीआर उदाहरण प्राप्त करें

  3. प्रत्येक INSERT के लिए तालिका आईडी का वृद्धि मूल्य

  4. एकाधिक स्तंभों के बीच मिलान पैटर्न

  5. "PostgreSQL 9.0 उच्च प्रदर्शन" पुस्तक प्रकाशित हो चुकी है।