PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Trả về tập hợp các hàng từ hàm 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;
  • Bạn không thể sử dụng các biến trong sql các chức năng, sử dụng plpgsql .
  • Bạn có thể chỉ định một giá trị cho một biến, trong khi select query trả về tập hợp các hàng.
  • Bạn phải chọn một hàng dưới dạng một giá trị, vì biến thuộc loại hỗn hợp.

Ví dụ về cách sử dụng vòng lặp:

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();

Đọc tài liệu về Trả về Từ một Hàm



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay đổi / đặt lại mật khẩu người dùng postgresql trên Windows 7

  2. PostgreSQL 11 - Thủ tục

  3. Cách hiểu một PHÂN TÍCH GIẢI THÍCH

  4. Oracle DBMS_LOB.WRITEAPPEND thành Chuyển đổi Postgres

  5. Kế hoạch truy vấn của các postgres có chỉ mục