【发布时间】:2012-11-21 22:55:33
【问题描述】:
我有一个函数,它在打开游标之前有三个 If/Then 语句。 If/Then 语句在打开游标之前检查有效性。
我想再添加一个 If/Then 有效性检查,但是,它比其他的要复杂一些。下面是一个示例,我已经块评论了我想添加的内容:
begin
if not procedure.validation_function (<variable>, <condition>=TRUE) then
return variable2;
end if;
/* if not exists
(
SELECT 'x' FROM table1
WHERE table1_id = variable1_id
AND trunc(sysdate) < trunc(table1_date + 60)
) then
return variable2;
end if; */
open cursor(<argument>);
fetch cursor into <variable>;
close cursor;
return <variable>;
end;
我的问题是我来自 T-SQL 世界,我发现在 PL/SQL 中 if not exists 命令不起作用。有没有一种方法可以在函数中使用 SELECT 的 If NO_DATA_FOUND 语句?
有没有办法在其中嵌套另一个函数,所以我可以:
begin
SELECT ....
FROM ....
WHERE ....
if NO_DATA_FOUND then
return variable2;
end if;
end;
【问题讨论】:
-
“如果不存在”作为 T-SQL 工作,它不太清楚你在问什么,我建议你简化你的问题,我看到了函数、ifs 和游标,我得到了搞砸了你在问什么