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

Chạy lệnh hệ thống với đối số trong một hàm PostgreSQL

Bạn có thể truy cập một số giá trị trong trình kích hoạt plsh.

  • UPDATE chỉ cung cấp CŨ
  • INSERT chỉ cung cấp MỚI (duh)
  • XÓA Tôi đã không kiểm tra

Vì vậy, bạn nhận được các giá trị đó bằng cách sử dụng các đối số, như $ 1, $ 2

Hàm của bạn sẽ giống như thế này:

CREATE FUNCTION tarifador_func2() RETURNS TRIGGER
LANGUAGE plsh
AS $$
#!/bin/sh
/usr/bin/php /var/www/html/...regras.php $3 $6 $1

$$;

Lưu ý rằng tôi không sử dụng $1 $2 $3 , đó là vì plsh tiện ích mở rộng kết xuất TẤT CẢ thành các đối số theo thứ tự chúng được khai báo trong bảng của bạn. Vì vậy, bạn có thể làm điều gì đó như INSERT INTO table1 (column3) VALUES (6); và nó sẽ dưới $3 trong plsh , giả sử đây là cột thứ ba trong bảng.

Xin lưu ý thêm, siêu dữ liệu của trình kích hoạt có sẵn thông qua env vars.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thiết lập và bảo trì bản sao PostgreSQL bằng Ansible

  2. Kích hoạt để cập nhật ngày hiện tại trong Postgres 9

  3. Chuyển dự án Django từ backend sqlite3 sang postgresql bị lỗi khi tải datadump

  4. Làm thế nào để cài đặt im lặng Postgresql trong Ubuntu qua. Dockerfile?

  5. Tự cấp phép tài khoản người dùng trong PostgreSQL thông qua quyền truy cập ẩn danh không đặc quyền