【发布时间】:2021-08-09 13:58:03
【问题描述】:
我正在尝试调试此广告并找出出现语法错误的原因:
CREATE OR REPLACE FUNCTION public.myfunc(_report_id integer, _cutoff_date date)
RETURNS record
LANGUAGE plpgsql
AS $function$
declare
_deliverable_id RECORD ;
BEGIN
FOR _deliverable_id IN
SELECT deliverable_id FROM public.deliverables where report_id=_report_id
LOOP
execute format('DROP TABLE IF EXISTS report.products_%I',_deliverable_id);
END LOOP;
END
$function$
;
当我执行这个时,我得到:
syntax error at or near ""(1111)""
1111 肯定是一个交付物,所以这让我认为它与执行语句格式或我使用 %I 的方式有关?
【问题讨论】:
标签: postgresql syntax-error execute