包定义中的Oracle用户定义类型 [英] Oracle User defined type inside package definition

查看:108
本文介绍了包定义中的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆