我正在使用一个报告程序,在其中我给它SQL语句和选中的值,成为变量。例如,在这种情况下,我正在尝试确定记录是否已存在。如果没有,则返回值为0的RecordExists;否则1。
这对我来说使用SQL Server要简单得多,但我想弄清楚为什么下面的内容不起作用。生成的语法错误表明我需要一个带有SELECT RecordExists FROM Dual;
行的“INTO”子句,即使我当时没有尝试分配值。
DECLARE
RecordExists NUMBER;
BEGIN
SELECT COUNT(*) INTO RecordExists FROM Times
WHERE Times.OrderNumber = '123456789' AND Times.StopSequence = '1';
IF (RecordExists >= 1)
THEN
SELECT 1 INTO RecordExists FROM dual;
SELECT RecordExists FROM dual;
ELSE
SELECT 0 INTO RecordExists FROM dual;
SELECT RecordExists FROM dual;
END IF;
END;
答案 0 :(得分:1)
你能用更简单的东西,比如:
SELECT CASE
WHEN count(*) > 0 then 1
ELSE 0 END
FROM times WHERE OrderNumber = '123456789' AND Times.StopSequence = '1' ;