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

plpgsql फ़ंक्शन से पंक्तियों का रिटर्निंग सेट।

CREATE FUNCTION test() 
RETURNS my_table AS
$BODY$
DECLARE
    q4 my_table;
BEGIN
    -- add brackets to get a value 
    -- select row as one value, as q4 is of the type my_table
    -- and limit result to one row
    q4 := (SELECT my_table FROM my_table ORDER BY 1 LIMIT 1);
    RETURN q4;
END;$BODY$
-- change language to plpgsql
LANGUAGE plpgsql;
  • आप sql में वेरिएबल का उपयोग नहीं कर सकते हैं फ़ंक्शन, plpgsql . का उपयोग करें ।
  • आप एक वैरिएबल को सिंगल वैल्यू असाइन कर सकते हैं, जबकि select query पंक्तियों का सेट लौटाता है।
  • आपको एक मान के रूप में एक पंक्ति का चयन करना होगा, क्योंकि चर मिश्रित प्रकार का है।

लूप का उपयोग करने का उदाहरण:

DROP FUNCTION test();
CREATE FUNCTION test() 
-- change to SETOF to return set of rows, not a single row
RETURNS SETOF my_table AS
$BODY$
DECLARE
    q4 my_table;
BEGIN
    FOR q4 in
        SELECT * FROM my_table
    LOOP
        RETURN NEXT q4;
    END LOOP;
END;$BODY$
LANGUAGE plpgsql;

SELECT * FROM test();

फ़ंक्शन से वापसी के बारे में दस्तावेज़ पढ़ें



  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 में कॉलम और पंक्तियों को कैसे स्थानांतरित करें (यानी, मैं पंक्तियों और स्तंभों को कैसे स्विच करूं)?

  2. डेटाबेस के साथ कनेक्शन पर इलास्टिक्स खोज सिंक करें - नोडजेएस

  3. सी ++ का उपयोग कर libpq के साथ त्रुटि लिंक करें

  4. PostgreSQL मल्टी INSERT...कई कॉलम के साथ रिटर्निंग

  5. अजीब गोलाई मुद्दा