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。您在手册中的哪个位置找到了该声明? –