我发现在多个地方都可以使用]来将模式及其所有内容(索引,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,触发器,序列等)删除。
假设您从SQL而不是CLP调用过程,则错误地使用了ADMIN_DROP_SCHEMA过程参数。
第三个和第四个参数不能是文字(尽管提供了这样的示例的文档),它们必须是主机变量(因为该过程要求它们是输入/输出参数)。
如果您想在复合SQL之外使用ADMIN_DROP_SCHEMA
,则可以使用全局变量