关于DB2储过程的问题

灬风一样的男子灬 2012-12-24 04:05:31
我在控制中心里面执行这段create or replace PROCEDURE Pro_OOP
begin

end;
没有问题,但是在里面写逻辑,
例如:
create or replace PROCEDURE Pro_OOP
begin
delete from oop2;
end;
就报错,这是为什么呢,新手没用过DB2,求高手解答。

...全文
172 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 3 楼 wwwwb 的回复:
try: 创建用的脚本testTRI.sql: create or replace PROCEDURE Pro_OOP begin delete from oop2; END@ 创建用的命令:db2 -td@ -f /workspace/test/testTRI.sql
DB21005E 访问 "C:\user\db2admin\Desktop\aa.sql" 文件时出错.
  • 打赏
  • 举报
回复
引用 2 楼 mysdzlt2007 的回复:
SQL code?1create procedure del() begin delete from goods; end
还是不行啊,还是报那个东西,我里面就放个删除表的操作怎么会报这个呢。
wwwwb 2012-12-24
  • 打赏
  • 举报
回复
try: 创建用的脚本testTRI.sql: create or replace PROCEDURE Pro_OOP begin delete from oop2; END@ 创建用的命令:db2 -td@ -f /workspace/test/testTRI.sql
mysdzlt2007 2012-12-24
  • 打赏
  • 举报
回复
create procedure del() begin delete from goods; end
  • 打赏
  • 举报
回复
------------------------------ 输入的命令 ------------------------------ 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

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧