我想在netezza中发表声明,以便在继续之前等待语句正确。任何帮助将不胜感激 - 类似于下面的
WHILE (
select count(*) EVENT_DESCRIPTION from TEST_DA_CONTROL.CTRL.C_DBA_MAINTENANCE_AUDIT
where EVENT_DESCRIPTION = 'STARTED' and DATETIME_LOGGED > (select add_months(current_date,0))) = 0
LOOP
wait 5
end loop;
但我不知道正确的语法。
答案 0 :(得分:0)
最好将该输出分配给变量。我似乎记得在nzplsql中从execute immediate
获取数据有点困难,但是有一些方便的变量可供你使用。在这里,我将使用ROW_COUNT
。
declare
event_descriptions int;
sql varchar;
begin
event_descriptions := 1;
while event_descriptions > 0 loop
--Actual work
sql := '
select * EVENT_DESCRIPTION from TEST_DA_CONTROL.CTRL.C_DBA_MAINTENANCE_AUDIT
where EVENT_DESCRIPTION = ''STARTED'' and DATETIME_LOGGED > (select add_months(current_date,0))) = 0;';
execute immediate sql;
event_descriptions := ROW_COUNT;
end loop;
end;