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

Làm cách nào để tham chiếu các tham số được đặt tên trong các hàm sql của Postgres?

REVISED:Như đã chỉ ra trong các nhận xét, câu trả lời này là chính xác khi được viết vào đầu năm 2012, nhưng các tham số được đặt tên đã được hỗ trợ kể từ phiên bản 9.2, phát hành vào cuối năm 2012

Tên tham số chỉ là trang trí khi hàm của bạn ở trong ngôn ngữ SQL . Bạn có thể sử dụng các tham số theo tên trong các thủ tục được lưu trữ được định nghĩa là language plpgsql .

Do đó, bạn phải tham chiếu đến hàm args bằng cách sử dụng $ X trong đó X là vị trí thứ tự của danh sách đối số của hàm (bắt đầu bằng 1).

CREATE OR REPLACE FUNCTION fn_name (
  n VARCHAR(32) = NULL,
  OUT name varchar(32),
  OUT description varchar(64) )
RETURNS setof record
AS 
$$
    SELECT u.name
        , u.description
    FROM table_a u
    WHERE u.name = COALESCE($1, u.name);
$$
LANGUAGE sql;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểm tra tự động các bản sao lưu PostgreSQL

  2. Làm cách nào để tạo một trường có danh sách các khóa ngoại trong SQLAlchemy?

  3. Cột văn bản Postgres chỉ cho phép / chuyển đổi thành chữ thường và không có ký tự đặc biệt như:Ñöáè

  4. Ưu điểm của việc sử dụng URLField so với TextField?

  5. Tại sao PostgreSQL thực hiện quét tuần tự trên cột được lập chỉ mục?