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

Có những thứ như một hàm tạm thời?

Không có CREATE TEMP FUNCTION ... như CREATE TEMP TABLE ... . Nhưng có một mẹo để tạo một hàm trong lược đồ tạm thời pg_temp , như câu trả lời được liên kết cung cấp . Hàm chỉ hiển thị trong cùng một phiên và chỉ có thể được gọi bằng tên đủ điều kiện giản đồ:

CREATE FUNCTION pg_temp.f_inc(int)
  RETURNS int AS 'SELECT $1 + 1' LANGUAGE sql IMMUTABLE;

SELECT pg_temp.f_inc(42);
f_inc
-----
43

Tôi có thể truy ngược lại ý tưởng này đến bài đăng này của Tom Lane trên pgsql-chung .

Điều gần nhất mà không có thủ thuật sẽ là một tuyên bố chuẩn bị sẵn sàng . Hoạt động giống như một hàm SQL tạm thời sẽ chết vào cuối phiên. Không giống nhau mặc dù vậy, và chỉ có thể được sử dụng bởi chính nó, không phải trong ngữ cảnh của một truy vấn lớn hơn. Ví dụ:

PREPARE upd_tbl AS
UPDATE tbl t SET set_name = $2 WHERE tbl_id = $1;

Gọi:

EXECUTE upd_tbl(123, 'foo_name');

Chi tiết:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chạy các truy vấn PostgreSQL từ dòng lệnh

  2. Cập nhật khóa lồng nhau với trường json postgres trong Rails

  3. Cách cbrt () hoạt động trong PostgreSQL

  4. Chèn hàng loạt từ csv trong postgres bằng golang mà không sử dụng vòng lặp for

  5. Lưu trữ PostgreSQL được quản lý hoàn toàn trên AWS và Azure ra mắt kịp thời cho những lần di chuyển kế thừa