无法使用ADMIN_DROP_SCHEMA存储过程在DB2中删除模式

问题描述 投票:0回答:2

我发现在多个地方都可以使用]来将模式及其所有内容(索引,SP,触发器,序列等)拖放到DB2中。

CALL SYSPROC.ADMIN_DROP_SCHEMA('schema_name', NULL, 'ERRORSCHEMA', 'ERRORTAB');

但是,在使用此命令时出现以下错误:

1) [Code: -469, SQL State: 42886]  The parameter mode OUT or INOUT is not valid for a parameter in the routine named "ADMIN_DROP_SCHEMA" with specific name "ADMIN_DROP_SCHEMA" (parameter number "3", name "ERRORTABSCHEMA").. SQLCODE=-469, SQLSTATE=42886, DRIVER=4.22.29
2) [Code: -727, SQL State: 56098]  An error occurred during implicit system action type "2". Information returned for the error includes SQLCODE "-469", SQLSTATE "42886" and message tokens "ADMIN_DROP_SCHEMA|ADMIN_DROP_SCHEMA|3|ERRORTABSCHEMA".. SQLCODE=-727, SQLSTATE=56098, DRIVER=4.22.29

有人可以帮我建议这里有什么问题吗?我试图去看几个地方,但没有任何想法。看来这不是授权问题。使用DB2 11.5版。

我发现在多个地方都可以使用CALL SYSPROC.ADMIN_DROP_SCHEMA('schema_name',NULL,'...]将DB2模式及其所有内容(索引,SP,触发器,序列等)删除。

db2 database-schema
2个回答
1
投票

假设您从SQL而不是CLP调用过程,则错误地使用了ADMIN_DROP_SCHEMA过程参数。

第三个和第四个参数不能是文字(尽管提供了这样的示例的文档),它们必须是主机变量(因为该过程要求它们是输入/输出参数)。


0
投票

如果您想在复合SQL之外使用ADMIN_DROP_SCHEMA,则可以使用全局变量

© www.soinside.com 2019 - 2024. All rights reserved.