0
我想在Postgres中創建函數,它可以自動執行用戶創建過程,但它不會;在DDL語句中接受參數。使用DDL語句Postgres函數
CREATE OR REPLACE FUNCTION AUTOUSER (uname varchar(20))
RETURNS TEXT AS $$
DECLARE
nm varchar(20);
BEGIN
nm=$1;
CREATE USER nm WITH PASSWORD 'Iash12';
GRANT ALL ON DATABASE iashdb TO nm;
GRANT ALL ON ALL TABLES IN SCHEMA public TO nm;
RETURN CONCAT(nm,' Created');
END;
$$
LANGUAGE plpgsql;
以上函數來創建用戶爲「納米」,而不是傳遞的參數名稱然而RETURN顯示正確結果的聲明。在此先感謝,
您需要爲此動態SQL:http://www.postgresql.org/docs/current/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN –
動態SQL不支持DDL語句,它只支持SELECT,UPDATE,INSERT和DELETE。 – Nik
當然它支持DDL。您在手冊中的哪個位置找到了該聲明? –