问题描述
create type role as enum ('Tutor','Student','Parent','Admin');
CREATE OR REPLACE FUNCTION public.func_users_manage
(p_flag character varying,p_email character varying,p_phone_no character varying,p_password character varying,p_role role,p_is_email_verified boolean)
RETURNS TABLE(_result_code integer,_result_message character varying)
LANGUAGE plpgsql
AS $function$
begin
if flag == 'I' then
insert into users
(
email,phone_no,password,role,is_email_verified,record_status,created_on,created_by
)
values
(
email,true,CURRENT_TIMESTAMP,email
);
RETURN QUERY
select 1 as RESULT_CODE,cast('Successfully Inserted.' as varchar) as RESULT_MESSAGE;
else if flag == 'U' then
update
users
set
is_email_verified = is_email_verified,email_verified_on = CURRENT_TIMESTAMP,last_modified_on = CURRENT_TIMESTAMP,last_modified_by = email
where
email = email;
RETURN QUERY
select 1 as RESULT_CODE,cast('Successfully Updated.' as varchar) as RESULT_MESSAGE;
else if flag == 'D' then
update
users
set
record_status = false,cast('Successfully Deleted.' as varchar) as RESULT_MESSAGE;
end if;
-- RETURN QUERY
-- select 1 as RESULT_CODE,cast('Successfully Executed.' as varchar) as RESULT_MESSAGE;
end
$function$
;
我想返回result_code,消息取决于条件。怎么做?除了返回表还有其他方法吗? 如何在Postgresql中的if条件中使用多行?需要开始结束? 为什么在创建函数时出现此“ 输入末尾语法错误”错误?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)