`
sjk2013
  • 浏览: 2176850 次
文章分类
社区版块
存档分类
最新评论

SUBTYPE正规化数据类型

 
阅读更多
SUBTYPE是类型的别名,倘若需求变更,只需修改一个地方的定义,其他代码都不用改动
也许我们习惯了变量来代表未知数,但却不习惯变量来代表变量类型
而subtype正是起到了这样的作用,他可以用一个新的类型变量来代表一个已知的类型
如果你定义的变量很可能需要改变变量类型,则使用subtype能大大减少你的代码修改量
好处N多,比如,可以重用,能让各模块减少依赖性,减少后期维护的成本等等
举个例子,
假定我有一个表:book,里面有个字段:page_count,类型为number(2)
现在我的需求是,写个程序,实现我目前写过的所有书的页码
我可以这样写:
DECLARE
l_total book.page_count%TYPE;
这样写是没问题的,但如果我的所有页码超过了100页呢?
我也可以这样写:
DECLARE
l_total number(10);
这是种硬编码写法,Think比较讨厌
这也不行?那也不行?您在闹那样呀?哈哈....
其实,我们可以这样:
CREATE OR REPLACE PACKAGE pkg_book
AS
SUBTYPE total_count IS NUMBER(10);
END pkg_book;
然后,
DECLARE
l_total pkg_book.total_count;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics