【发布时间】:2018-05-23 18:06:57
【问题描述】:
我正在处理一个 DB2 存储过程,我想在其中执行以下操作:
CREATE PROCEDURE TestProc ( IN IN_NBR CHAR(20))
ISOLATION LEVEL CS
VALIDATE BIND
RESULT SETS 1
P1: BEGIN
IF ((SUBSTR(IN_NBR,1,2) != 'IO')
OR (SUBSTR(IN_NBR,1,2) != 'DO'))
THEN
SELECT *
FROM AB.WC_TEM WC
WHERE WC.CAT_NBR = IN_NBR
WITH UR;
END IF;
END P1
这甚至无法部署。
【问题讨论】:
-
您得到的确切错误代码(sqlcode、sqlstate、message)是什么?
-
PT.TESTPROC:9:非法符号“来自”。一些可能是合法的符号是: INTO。 SQLCODE=-104, SQLSTATE
-
我想我不能将 IF 语句与 SUBSTR 一起使用。但是,我不知道最好的方法 IF ((SUBSTR(IN_NBR,1,2) != 'IO')
-
您的 Db2 服务器操作系统是什么(z/os、i 系列、linux/unix/windows)?
-
Db2 服务器操作系统是 z/os 。问题出在我的查询上。
标签: stored-procedures db2