ITPub博客

首页 > Linux操作系统 > Linux操作系统 > tcbs_批量存储过程_输入参数为空与非空的分支编写

tcbs_批量存储过程_输入参数为空与非空的分支编写

原创 Linux操作系统 作者:wisdomone1 时间:2012-05-30 16:44:37 0 删除 编辑

insert 报表表 --一般以rpt打头,展示给银行方
select * 
from acct 
where acctnbr=200000002310 
            -- in_mjaccttypcd 为存储过程输入参数,此为产品大类,比如个人定期,对公活期等
            and (mjaccttypcd=in_mjaccttypcd or nvl( in_mjaccttypcd  ,'N')='N') 


小结:
    如果如上存储过程in_mjaccttypcd 输入参数不为空,则in_mjaccttypcd 起到where条件的过滤作用.否则,就提取所有的产品大类.而这是通过
mjaccttypcd=in_mjaccttypcd or nvl( in_mjaccttypcd  ,'N')='N'来实现.
重点用到了or和nvl,or是只要满足其中之一,就为true.针对此时情形,in_mjaccttypcd 为null,则结果是mjaccttypcd=in_mjaccttypcd or nvl( in_mjaccttypcd  ,'N')='N'为

 mjaccttypcd=null or nvl(null,'N')='N',此时nvl(null,'N')='N'满足条件,如上的sql依旧可以运行.
  主要是掌握此种写法.

  TCBS的东东蛮多.还要努力.

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

下一篇: c#设计模式
请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb qq: 305076427 微博: wisdomone9

注册时间:2008-04-04

  • 博文量
    2164
  • 访问量
    11711778