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的东东蛮多.还要努力.