ITPub博客

首页 > 数据库 > Oracle > SUBTYPE正规化数据类型

SUBTYPE正规化数据类型

原创 Oracle 作者:幕南风 时间:2014-07-03 13:44:19 0 删除 编辑
       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;
<!-- Baidu Button BEGIN -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26515977/viewspace-1207967/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 触发器内的代码封装
下一篇: 捕获声明部分的异常
请登录后发表评论 登录
全部评论
腾讯数据库工程师

注册时间:2012-05-10

最新文章