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;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值