我无法创建此功能,因为我在第6行中的INTEGER附近语法错误。我在这里错过了什么吗?
CREATE OR REPLACE FUNCTION public.update_application_status_by_token(applicationToken integer, userId integer, newStatus data.applicationstatus)
RETURNS BOOLEAN
LANGUAGE sql
AS $function$
DECLARE
applicationId INTEGER;
BEGIN
SELECT id INTO applicationId FROM data.listings_applications WHERE token = applicationToken;
INSERT INTO public.listings_applications_status(application_id, user_id, status) VALUES (applicationId, userId, newStatus);
UPDATE public.listings_applications SET status = newStatus WHERE token=applicationToken;
RETURN TRUE;
EXCEPTION WHEN OTHERS THEN
RETURN FALSE;
END;
$function$
答案 0 :(得分:3)
这是一个PL / pgSQL函数,所以你必须声明它。
使用
LANGUAGE plpgsql
而不是
LANGUAGE sql
答案 1 :(得分:1)