DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令
------------------------------ 输入的命令 ------------------------------
create or replace PROCEDURE Pro_OOP
begin
delete from oop2;
end;
------------------------------------------------------------------------------
create or replace PROCEDURE Pro_OOP
begin
delete from oop2
DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0104N 在 "EDURE PRO_OOP begin " 后面找到异常标记 "delete from
oop2"。预期标记可能包括:"<space>"。 LINE NUMBER=3. SQLSTATE=42601
end
DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0104N 在 "end" 后面找到异常标记 "END-OF-STATEMENT"。预期标记可能包括:"JOIN
<joined_table>"。 SQLSTATE=42601
SQL0104N 在 "end" 后面找到异常标记 "END-OF-STATEMENT"。预期标记可能包括:"JOIN <joined_table> "。
说明:
在文本 "<文本>" 后面的指定标记处检测到 SQL 语句中或 SYSPROC.ADMIN_CMD
过程的输入命令字符串中的语法错误。"<文本>" 字段指示无效标记前面的 SQL
语句中或 SYSPROC.ADMIN_CMD 过程的输入命令字符串的 20 个字符。
作为帮助,在 SQLCA 的 SQLERRM 字段中,提供了有效标记的部分列表作为 "<标
记列表>"。此列表假定语句直到该位置为止均正确。
以命令方式将文本传递至命令行处理器 (CLP),并且此文本包含的由操作系统
shell 解释的特殊字符(例如,单引号或双引号)未使用转义字符标识时,可能
会返回此消息。
无法处理该语句。
用户响应:
采用下列其中一种方式对此错误作出响应:
* 在指定的标记区域内检查并更正语句。
* 如果您正通过命令方式使用 CLP 并且命令中存在特殊字符(例如,引号),
请使用转义字符(例如,反斜杠字符)以使操作系统 shell 不会对这些特殊
字符执行任何特殊操作。还可通过交互方式或批处理方式使用 CLP 发出此语
句,以避免操作系统 shell 对这些特殊字符进行任何处理。
sqlcode:-104
sqlstate:42601
create procedure del() begin delete from goods; end
try:
创建用的脚本testTRI.sql:
create or replace PROCEDURE Pro_OOP
begin
delete from oop2;
END@
创建用的命令:db2 -td@ -f /workspace/test/testTRI.sql