变量的值进入函数的执行语句

时间:2018-05-03 18:30:48

标签: postgresql-9.3

我需要获取当前数据库并将其传递给用户创建的查询,以便使用当前数据库在组中创建用户。

    CREATE OR REPLACE FUNCTION public.create_dbuser(
    v_username NAME,
    v_password TEXT)
RETURNS smallint AS
$BODY$
DECLARE
BEGIN
    EXECUTE FORMAT('CREATE ROLE "%I" IN GROUP “%I”_group LOGIN 
PASSWORD ''%I''', v_username, current_database(), v_password);
    RETURN 1;
    -- Simple Exception
EXCEPTION
    WHEN others THEN
        RETURN 0;
END;
$BODY$
LANGUAGE plpgsql STRICT VOLATILE SECURITY DEFINER
COST 100;

0 个答案:

没有答案