从DB2 CMD成功调用以下内容,
SYSPROC.ADMIN_DROP_SCHEMA('TESTSCHEMA', NULL, 'ERRORSCHEMA', 'ERRORTABLE')
Run Code Online (Sandbox Code Playgroud)
输出参数的值
Parameter Name : ERRORTABSCHEMA
Parameter Value : TESTSCHEMA
Parameter Name : ERRORTAB
Parameter Value : ERRORTABLE
Return Status = 0
Run Code Online (Sandbox Code Playgroud)
但是当使用db2batch通过Perl脚本运行相同的命令时,它会出现以下错误,
CLI error in preparing the SQL statement:
(-469): [IBM][CLI Driver][DB2/NT] SQL0469N The parameter mode OUT or INOUT is n
ot valid for a parameter in the routine named "ADMIN_DROP_SCHEMA" with specific
name "ADMIN_DROP_SCHEMA" (parameter number "3", name "ERRORTABSCHEMA"). SQLSTAT
E=42886
Run Code Online (Sandbox Code Playgroud)
有什么指针吗?仅在过去几天使用DB2.
小智 3
参数ERRORTABSCHEMA和ERRORTAB是 INOUT 变量,在使用它们之前需要声明它们。
您可以创建一个存储过程并调用该存储过程:
CREATE OR REPLACE PROCEDURE sample.delete_schema() BEGIN
declare varErrSchema varchar(128) default 'ERRORSCHEMA';
declare varErrTable varchar(128) default 'ERRORTAB';
call sysproc.admin_drop_schema ('SCHEMANAME', NULL, varErrSchema, varErrTable);
END@
Run Code Online (Sandbox Code Playgroud)
然后就可以调用存储过程调用sample.delete_schema()
| 归档时间: |
|
| 查看次数: |
1769 次 |
| 最近记录: |