我有一个记录表,我需要根据下面的条件插入状态和备注。
IF EXISTS (SELECT CASE
WHEN COUNT(A)=COUNT(*))
THEN -- table has no issues
STATUS := 'C'
REMARKS := 'Procedure Completed'
ELSE -- table has issues
STATUS := 'F'
REMARKS := 'Validation Failed'
END
FROM table x;
END IF;
执行此操作时,我遇到错误:
'SELECT EXISTS (SELECT CASE WHEN COUNT(dISTINCT A)=COUNT(*))'
error found ")" (at char 75) expecting `AND' or `AT' or `BETWEEN' or `IN' or `IS'
注意: - 此过程是NETEZZA中商店过程的一部分
答案 0 :(得分:1)
我不确定你实际上是在问这个问题,但如果你的问题是“我为什么会收到这个错误?”那么答案是你没有使用nzplsql语法。您在上面编写的存储过程看起来更像是plsql,而不是nzplsql。我建议你仔细阅读correct syntax。
直接说明代码的问题:
sql := 'select 1 from table x having count(a) = count(*);';
execute immediate sql;
if ROWCOUNT = 1 then
status := 'C';
remarks := 'Procedure Completed';
else
status := 'F';
remarks := 'Validation Failed';
end if;
。见conditional statements。如果我不得不猜测你想要做什么,也许是这样的事情?
Upload()