如何在 DB2 LUW 中的存储过程或 UDF 中 "select"?
How to "select" inside a stored procedure or a UDF in DB2 LUW?
我觉得这个问题很简单。我无法在我定义的存储过程内或 UDF 内 select 行。这是我使用的语法:
Create Or Replace Procedure GenerateSequence(
In InternalUnitID SmallInt,
In ObjectTypeID SmallInt)
Language SQL
Dynamic Result Sets 1
Not Deterministic
No External Action
Modifies SQL Data
Commit On Return Yes
Begin
Select Number
From Sequence
Where InternalUnit=InternalUnitID
And ObjectType=ObjectTypeID;
End
如果我尝试创建上述过程(通过将定义放入 SQL 文件并 运行 它)。我收到以下错误消息:
DB21034E 命令作为 SQL 语句处理,因为它不是有效的命令行处理器命令。在 SQL 处理期间返回:
SQL0104N An unexpected token "Select Number From Sequence Where Intern" was
found following "n Return Yes Begin ". Expected tokens may include: "".
LINE NUMBER=21. SQLSTATE=42601
任何线索可能是这个问题的原因?
我的环境是 Windows 上的 DB2 10.5 Express。
我的问题是我需要使用游标才能return将结果集设置为存储过程的调用者。
参考文献:
我觉得这个问题很简单。我无法在我定义的存储过程内或 UDF 内 select 行。这是我使用的语法:
Create Or Replace Procedure GenerateSequence(
In InternalUnitID SmallInt,
In ObjectTypeID SmallInt)
Language SQL
Dynamic Result Sets 1
Not Deterministic
No External Action
Modifies SQL Data
Commit On Return Yes
Begin
Select Number
From Sequence
Where InternalUnit=InternalUnitID
And ObjectType=ObjectTypeID;
End
如果我尝试创建上述过程(通过将定义放入 SQL 文件并 运行 它)。我收到以下错误消息: DB21034E 命令作为 SQL 语句处理,因为它不是有效的命令行处理器命令。在 SQL 处理期间返回:
SQL0104N An unexpected token "Select Number From Sequence Where Intern" was
found following "n Return Yes Begin ". Expected tokens may include: "".
LINE NUMBER=21. SQLSTATE=42601
任何线索可能是这个问题的原因?
我的环境是 Windows 上的 DB2 10.5 Express。
我的问题是我需要使用游标才能return将结果集设置为存储过程的调用者。
参考文献: