Hos*_*osm 7 oracle user-defined-types
我有一个多模式oracle DB,其客户端帐户应该是所有模式中的varchar(50).因此,我想像MYCLIENT一样为varchar(50)指定一个新名称,这样在所有表格,sp和函数中,我只需使用MYCLIENT来定义字段,参数等,以避免错误完整性.
1 - 如何在Oracle中定义新类型(最简单的方法)
2 - 根据最佳实践在何处定义它(Schema,package,DB,..)?
非常感谢
我担心没有简单的方法来实现这一目标.你可以在包里面定义一个子类型,如下所示:
SUBTYPE myclient is VARCHAR2(50);
Run Code Online (Sandbox Code Playgroud)
但您无法将其用作数据库列的类型.为此,您必须使用以下内容定义SQL类型:
CREATE TYPE myclient ...
Run Code Online (Sandbox Code Playgroud)
但是你只能用这种方式定义记录类型,对象类型或集合类型.这很奇怪,但好吧,就像甲骨文中的一些东西...... :)