Oracle声明了一种用户自定义类型,可以跨多个函数和过程使用



我有一个创建其他存储过程/函数的SQL文件。我想使用一个用户定义的类型,它可以在创建的存储过程/函数之间访问。实现这一目标的最佳方式是什么?我想到的最简单的方法就是在每个过程/函数中创建用户定义的类型。

我的用户定义类型看起来像这样:

create  type array_t is varray(2) of number;

只管执行

create  type array_t is varray(2) of number;
全球

您可以使用create [or replace] type语句将该类型创建为独立项,或者将其包含在包头中。独立类型的优点是,您可以在SQL查询中使用它,并将其用作表和视图列的类型。PL/SQL-only声明的优点是它简化了您的部署,并且没有人会想要一个varray列。

如果您的部署进程给出'name已经被现有对象使用'错误,那么它已经存在(可能来自以前的运行)。create or replace是标准的做法和一个好主意,尽管你的脚本应该只在一个地方定义每个项目。

最新更新