Tôi viết tập lệnh PSQL và sử dụng các biến (cho cú pháp dòng lệnh psql --variable key = value).Có cú pháp thoát cho biến psql bên trong các hàm PostgreSQL không?
Công trình này hoàn hảo cho phạm vi cấp cao nhất như chọn * từ: khóa, nhưng tôi tạo chức năng với tập lệnh và cần giá trị biến bên trong chúng.
Vì vậy, cú pháp như
create function foo() returns void as
$$
declare
begin
grant select on my_table to group :user;
end;
$$
language plpgsql;
thất bại tại : hướng dẫn.
Theo như tôi hiểu các biến psql là một tính năng thay thế macro đơn giản, nhưng nó không xử lý các đối tượng chức năng. Có cú pháp thoát nào cho các trường hợp như vậy không? Xung quanh : người dùng với $$ hoạt động liên quan đến thay thế, nhưng psql không thành công tại $$.
Có cách nào khác để thực hiện điều này ngoài việc xử lý macro độc lập (sed, awk, v.v ...) không?
Bạn có thể có hàm foo tham số và sử dụng thông số đó không? – Fosco