包定义中的Oracle用户定义类型 [英] Oracle User defined type inside package definition
本文介绍了包定义中的Oracle用户定义类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以在Oracle软件包定义中包含用户定义类型?当我尝试关注
is it possible to have a User Defined Type inside Oracle package definition? When I try following
CREATE OR REPLACE PACKAGE AF_CONTRACT AS -- spec
-- PROCEDURE my_rpcedure (emp_id NUMBER);
TYPE DTO_GRID AS OBJECT
(
ROWKEY NVARCHAR2(200),
COLUMNKEY NVARCHAR2(200),
CELLVALUE NVARCHAR2(200),
OLDVALUE NVARCHAR2(200),
TAG NVARCHAR2(200)
);
END AF_CONTRACT;
/
CREATE OR REPLACE PACKAGE BODY AF_CONTRACT AS -- body
-- PROCEDURE my_procedure (emp_id NUMBER) IS
-- BEGIN
--
-- END my_procedure;
END AF_CONTRACT;
我总是会出错
Error: PLS-00540: object not supported in this context.
类型定义中的
.
in the type definition.
推荐答案
对象类型必须在数据库级别声明.您可以在包装说明中声明收集类型.
Object types have to be declared at the database level. You could declare a collection type in a package specification.
可能的副本: 可以在PL内创建Oracle数据库对象类型/SQL?
这篇关于包定义中的Oracle用户定义类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文