【发布时间】:2015-07-07 06:23:10
【问题描述】:
我有一个包含选择查询的 db2 存储过程。如果选择查询返回任何值,我想中止或失败此存储过程。请帮忙。
SET CURRENT SCHEMA = abc;
SET CURRENT PATH = abc,pqr;
CREATE OR REPLACE PROCEDURE abc.VALID_xyz ( )
SPECIFIC SQL150421070712734
LANGUAGE SQL
NOT DETERMINISTIC
EXTERNAL ACTION
MODIFIES SQL DATA
CALLED ON NULL INPUT
INHERIT SPECIAL REGISTERS
OLD SAVEPOINT LEVEL
begin
DECLARE C1 CURSOR WITH RETURN
FOR select * from xy_table;
open C1;
RETURN;
END;
SET CURRENT SCHEMA = abc;
如果 xy_table 有任何行,我需要使这个存储过程失败。
【问题讨论】:
-
如果您的过程实际上并未操作 DB2 之外的东西(例如 JVM 中的 Java 对象),如果您通过指定
NO EXTERNAL ACTION而不是更谨慎的默认值EXTERNAL ACTION。
标签: stored-procedures db2