【发布时间】:2021-03-24 07:22:36
【问题描述】:
我尝试让一个 SP 在与 Squirrel 连接的 DB2 上运行
CREATE OR REPLACE PROCEDURE BOCA.TESTSP
(IN CASID INTEGER)
READS SQL DATA
DETERMINISTIC
LANGUAGE SQL
BEGIN
SELECT * FROM BOCA.TCASE C WHERE C.ID = CASID
END;
根据我放置 ; 的位置,我得到了各种错误(在语句的末尾等)
我尝试采用这种方法:
CREATE PROCEDURE [qualifier.]<procedure_name>
([IN | OUT | INOUT <argument_name> <datatype>,...])
{MODIFIES SQL DATA |
NO SQL |
CONTAINS SQL |
READS SQL DATA}
[[NOT] DETERMINISTIC]
LANGUAGE SQL
BEGIN [ATOMIC]
<procedure_body>
END
但是没有成功。 有人有一个简单的选择吗?
Stnge 是我能够创建的示例更新
【问题讨论】:
-
SP 是复合语句。您必须: 1. 将默认语句终止字符
;更改为另一个类似@的字符(在Squirrel 或您使用的任何工具中查找它的位置)并在外部END之后使用它。 2. 用;关闭SP里面的每一条语句。
标签: stored-procedures db2