【发布时间】:2020-01-10 08:20:42
【问题描述】:
在 Postgress GUI 的创建屏幕中,我在 while 语句中遇到语法错误。语言是 plpgsql,返回类型是 void。 TIA
在此处输入代码
begin
declare counter integer := 1;
declare CurrentDate Date := '1/1/2018';
while CurrentDate < '1/1/2019'
loop
insert into dimCalendar select CurrentDate, EXTRACT(DOW FROM
current_date), EXTRACT(DOY FROM current_date);
CurrentDate := CurrentDate + 1;
end loop
end
【问题讨论】:
-
向我们展示完整代码。但是
declare需要在begin之前,你只需要一个declare和'1/1/2018'是字符串文字而不是日期。但你不需要一个函数来开始。 -
嘿,谢谢,正如你所说,我可以通过移动声明来编译/保存它。 '1/1/2018' 应该作为一个日期,因为变量被声明为 Date。就像 select cast('12/31/2018' as date) + 1 产生 2019-01-01。是的,我想我不需要为此使用函数,但尝试内联编写它更麻烦。
标签: postgresql