如果问题标题含糊不清,我深表歉意,但我无法更好地表述它。我想要的是 TSQL 的替代方法CREATE TYPE
,因此我可以在列定义中使用它。
例如,我需要 Oracle 中的“money”类型,这在技术上是NUMBER(18,4)
在我的系统中,并且每个表都会有“money”列而不是底层NUMBER
以保持一致性。还有一些其他“类型”我想有别名而不是直接使用它们。
不幸的是,我还没有找到可接受的解决方案,除了放弃并为每列使用具有约束(或大小规范)的标准类型。似乎唯一可行的方法是创建OBJECT
类型,但它会为我试图避免的系统增加不必要的复杂性。
一个非常好的 Oracle 特性,SUBTYPE
在这种情况下不起作用。据我所知,SUBTYPE
(和来自 的子类型STANDARD
)创建了不能在 SQL 中使用的 PL/SQL 数据类型。我知道这有多种原因。
我想知道解决此类问题的最佳做法是什么。
谢谢你。
更新
到目前为止,我似乎已经列出了所有可能的方法,我宁愿关闭这个问题。不确定它是否对任何人有用;如果是,我暂时不删除这个问题。