我在db2中创建过程时遇到错误。
错误是 - 预期的令牌可能包括:psm_semicolon .. SQLCODE = -104
帮助我......
CREATE PROCEDURE update_new()
LANGUAGE SQL
BEGIN
CREATE TABLE TEMP(METADATA_KEY varchar(40),NEW_METADATA_KEY varchar(40));
END;
答案 0 :(得分:1)
在您正在使用的任何工具中,将语句终止符更改为分号以外的其他内容,并将该终止符放在CREATE PROCEDURE
语句的末尾。
例如,如果使用命令行处理器,请将其保存到文件中(注意最后的" @"符号:
CREATE PROCEDURE update_new()
LANGUAGE SQL
BEGIN
CREATE TABLE TEMP(METADATA_KEY varchar(40),NEW_METADATA_KEY varchar(40));
END@
然后执行文件:db2 -td@ -f myproc.sql
执行此操作的原因是分号始终在过程代码中用作中的终结符,因此您必须使用其他内容来终止CREATE PROCEDURE
语句。