我有一个多模式oracle DB,其客户端帐户应该是所有模式中的varchar(50)。因此,我想像myCLIENT一样为varchar(50)分配一个新名称,这样在所有表格,sp和函数中,我只需使用MYCLIENT来定义字段,参数等,以避免错误完整。
1 - 如何在Oracle中定义新类型(最简单的方法)
2 - 根据最佳实践在哪里定义它(架构,包,DB,..)?
非常感谢
答案 0 :(得分:5)
我担心没有简单的方法来实现这一目标。您可以在包中定义子类型,如下所示:
SUBTYPE myclient is VARCHAR2(50);
但您无法将其用作数据库列的类型。为此,您必须使用以下命令定义SQL类型:
CREATE TYPE myclient ...
但您只能通过这种方式定义记录类型,对象类型或集合类型。这很奇怪,但是,就像甲骨文中的一些事情...... :)