使用全局类型而不是具有相同名称的本地子类型

时间:2014-07-01 22:31:27

标签: oracle types plsql package subtype

我有一个带有几个包和一些类型的oracle数据库。有一种类型定义为

create or replace type my_type as table of varchar2(4000)

然后,进入pkg_machines

subtype my_type is varchar2(4000)

现在,我没有编写数据库,在分析错误时,我发现有几个包使用pkg_machines.my_type,但pkg_machines需要使用本地和全局包。

我想到的唯一可能的方法是更改​​子类型的名称并重构每个使用它的其他包,但这意味着要浪费大量时间来重构数百个包。 / p>

我的问题是:有没有办法告诉程序引用全局类型my_type而不是定义的子类型?

1 个答案:

答案 0 :(得分:1)

如果要使用全局名称,请将其完全限定为schema_name.my_type。模式名称通常与创建类型时登录到数据库的用户相同。

分享并享受。