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

Truyền một Tập kết quả vào một Hàm Postgresql

Bạn có thể sử dụng con trỏ , nhưng điều đó rất không thực tế đối với tính toán tối thiểu.

Tôi sẽ sử dụng bảng tạm thời cho mục đích đó và chuyển tên bảng để sử dụng trong SQL động :

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;

Gọi:

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

SELECT f_min_id('foo');

Những điểm chính

-> SQLfiddle demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgres bế tắc mà không có khóa rõ ràng

  2. Trình tự cách sử dụng bảng kết hợp?

  3. NLog đến kết nối PostgreSQL

  4. Bảng có giá trị Tham số tương đương trong Postgresql

  5. Cách tìm lần xuất hiện đầu tiên và cuối cùng của một ký tự cụ thể bên trong một chuỗi trong PostgreSQL