我有一个带有几个包和一些类型的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
而不是定义的子类型?
答案 0 :(得分:1)
如果要使用全局名称,请将其完全限定为schema_name.my_type
。模式名称通常与创建类型时登录到数据库的用户相同。
分享并享受。