create or replace procedure SP_CIF_Smary_CustInfo(
o_Cur out Types.CursorType,
o_ret out integer,
o_msg out varchar2,
i_user in integer,
i_ip in varchar2,
i_CustNo in varchar2--客户号
) is
/*
**功能说明:客户基本信息

**创建日期:2015-04-09
************************************************************************
**修改记录
************************************************************************
**修改者 版本号 修改日期 说明
1.0 2015-04-09 创建
*/

begin
o_ret := -99;
o_msg := '未知错误';

open o_Cur for
select FCustNo as 客户号,
FName as 客户姓名,
case Fsex when 1 then '男' when 2 then '女' else '未说明性别' end||','||(select fn_PUB_CalAge(substr(to_char(a.fbirthday,'yyyymmdd'),0,4),FCertType,FCertNo) from dual) as "性别/年龄",
--(select fn_PUB_CalAge(substr(to_char(a.fbirthday,'yyyymmdd'),0,4),FCertType,FCertNo) from dual) as 年龄,
(select b.fname from pub_employee b where b.id = a.FManager) as 客户经理,
1 as 理财顾问,
FMobile as 服务手机,
1 as 服务EMAIL,
1 as 最近联系时间,
1 as 所属群,
1 as 客户特征
from Cif_Persinfo a where FCustNo = i_CustNo;

o_ret := 1;
o_msg := '';

exception
when others then
o_ret := -99;
o_msg := case when o_msg is null then '未知错误' else '在['||o_msg||']处发生异常' end;

end SP_CIF_Smary_CustInfo;

结果

<C0>1</C0>
<客户号>101332602197504126498</客户号>
<客户姓名>郭华鸥</客户姓名>
<性别_年龄>男,41</性别_年龄>
<客户经理>马志清</客户经理>
<理财顾问>1</理财顾问>
<服务手机>13186976222</服务手机>
<服务EMAIL>1</服务EMAIL>
<最近联系时间>1</最近联系时间>
<所属群>1</所属群>
<客户特征>1</客户特征>

create or replace procedure SP_CIF_Smary_Business(
o_Cur out Types.CursorType,
o_ret out integer,
o_msg out varchar2,
i_user in integer,
i_ip in varchar2,
i_CustNo in varchar2--客户号
) is
/*
**功能说明:业务开通情况
**创建人:
**创建日期:2015-04-10
************************************************************************
**修改记录
************************************************************************
**修改者 版本号 修改日期 说明
1.0 2015-04-10 创建
*/

begin
o_ret := -99;
o_msg := '未知错误';

open o_Cur for
select
'网上银行' as 业务,
b.khsj as 开通日期,
(select name from lborganization c where c.orgcode = b.khwdjgh) as 办理机构,
case when C3002 = 1 then '已开通' else '未开通' end as 状态
from dcuser.dc_customerdatah a
left join dcuser.PB_CSTINF_PRO b on a.fcustomer = b.zjlx||b.zjhm
where a.fcustomer = i_CustNo and a.fdate = (select max(fdate) from dcuser.dc_customerdatah)
union all
select
'手机银行' as 业务,
substr(b.khsj,0,8) as 开通日期,
(select name from lborganization c where c.orgcode = b.khwd) as 办理机构,
case when C3003 = 1 then '已开通' else '未开通' end as 状态
from dcuser.dc_customerdatah a
left join (select c.khsj,c.khwd,d.zjlx,d.zjhm from dcuser.PB_CSTINF_PRO d left join dcuser.MB_PB_CSTINF_PRO c on c.dzyxkhnm=d.wykhnm) b
on a.fcustomer = b.zjlx||b.zjhm
where a.fcustomer = i_CustNo and a.fdate = (select max(fdate) from dcuser.dc_customerdatah)
union all
select
'借记卡' as 业务,
to_char(b.kkrq,'yyyymmdd') as 开通日期,
(select name from lborganization c where c.orgcode = b.sljgh) as 办理机构,
case when C3007 = 1 then '已开通' else '未开通' end as 状态
from dcuser.dc_customerdatah a
left join dcuser.BWFMDCIM b on a.fcustomer=b.khh
where a.fcustomer = i_CustNo and a.fdate = (select max(fdate) from dcuser.dc_customerdatah);

o_ret := 1;
o_msg := '';

exception
when others then
o_ret := -99;
o_msg := case when o_msg is null then '未知错误' else '在['||o_msg||']处发生异常' end;

end SP_CIF_Smary_Business;

1 网上银行 未开通
2 手机银行 未开通
3 借记卡 已开通

方法定义

create or replace function fn_PUB_CalAge
(
i_BirthDate varchar2, --出生年份
i_CertType int := null, --证件类型
i_CertNo varchar2 := null --证件号码
) return int as
/*
**功能说明:获取年龄
**创建人:
**创建日期:2014-06-24
**************************************************************************
**修改记录
**************************************************************************
**修改者 版本号 修改日期 说明
**张华斌 2014-06-24 创建
*/
v_Age int;
v_BirthDate varchar2(4);
begin
if(i_CertType = '101') then
if(length(i_CertNo) = 15) then
v_BirthDate := '19' || substr(i_CertNo, 7, 2);
elsif(length(i_CertNo) = 18) then
v_BirthDate := substr(i_CertNo, 7, 4);
end if;
else
v_BirthDate := i_BirthDate;
end if;
if(v_BirthDate is not null) then
v_Age := to_char(sysdate, 'yyyy') - v_BirthDate + 1;
end if;
return v_Age;
end;

游标定义,多行,一行相关推荐

  1. python二维数组的行和列_python 定义N行2列二维数组与赋值

    python中怎么用花括号定义一个5行4列的数组花括号是字典,不是数组. python:定义函数,输入一个m维数组X和一个整数n,输# Python3.6import numpy as npwhile ...

  2. python中三个双引号 的作用是什么?1、多行注释 2、定义多行字符串(代替转义字符换行符 \n)

    作用1:多行注释 # 这是单行注释""" 这是多行注释第一行 这是多行注释第二行 这是多行注释第三行 """ 作用2:定义多行字符串(无需转 ...

  3. (1-1)line-height的定义和行内框盒子模型

    (1-1)line-height的定义和与行内框盒子模型的关系 一.line-height的定义 line-height的定义: 行高,又称为两基线的距离.默认基线对齐(因为CSS所有*线:总之就是各 ...

  4. 39 SD配置-销售凭证设置-定义计划行类别

    业务背景:定义计划行类别 事务码:VOV6 SPRO路径:SPRO->销售和分销->销售->销售凭证->计划行->定义计划行类别 第1步,SPRO进入 第2步,通过&qu ...

  5. JavaScript JS 如何定义多行文本

    JavaScript JS 如何定义多行文本 JavaScript JS 定义多行文本最优雅的方式 var lines = function () { 你的文本内容开始 asd ccac文本结束}; ...

  6. 1.1 css style 样式定义:行内 style 属性、单页 <style> 标签、多页 <style> 标签

    1.1 style 样式定义:行内 style 属性.单页 <style> 标签.多页 <style> 标签 文章目录 1.1 style 样式定义:行内 style 属性.单 ...

  7. Python定义多行字符串

    Python定义多行字符串可以用符号"""来表示 Python定义多行字符串可以用符号"""来表示 str =""&qu ...

  8. oracle存储过程中游标定义

    1.游标的使用.看到的一段解释很好的概念,如下:     游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在 ...

  9. 如何用#define宏定义多行函数

    在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义.那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍.     首先,函数调用会带 ...

最新文章

  1. GPUImage滤镜中的shader代码分析,及自定义滤镜
  2. MySQL引擎innodb和mysum_mysql数据库引擎InnoDB和MyISAM
  3. 数据结构:线性表(java实现)
  4. docker中部署Redis
  5. MySQL 查询速度慢与性能差的原因与解决方法
  6. 为什么 ++[[]][+[]]+[+[]] = 10 ?
  7. Java-ReentrantLock-NonfairSync/FairSync
  8. python中 是什么运算_“是”运算符在Python中做了什么?
  9. Wireshark抓包获取QQ好友IP
  10. EDFbrowser查看edf文件及睡眠分期认识
  11. rapidxml解析xml文档
  12. matlab绘图工具
  13. 8.7. Enumerated Types
  14. MyEclipse共享项目到SVN服务器
  15. 超级科技网络安全风险评估服务,全面了解网络系统面临的安全风险
  16. 在Matlab中构建最大带权生成树
  17. ArcGIS10.5安装时提示localhost没有有效管理许可怎么办
  18. android 来电解锁,带你解锁手机隐藏黑科技,极少人知道!
  19. 扫地机器人杂牌的怎么样_扫地机器人贵的和便宜的之间有何区别?
  20. 从1.0到2.0:移动互联网入口战升级

热门文章

  1. SqlSession 同步为注册,因为同步未激活
  2. 从零开始创建react+Django项目
  3. linux下实现串口通讯
  4. 某集团公司cisco ASA5520的全配置
  5. ZYNQ RapidIO IP核协议与使用
  6. Java开源数据库分类列表整理
  7. Pixelmator Pro 教程,认识 Pixelmator Pro 界面
  8. 网络广告术语CPC、CPM和CTR的含义和关系
  9. 复旦大学计算机专业林语惊,倦鸟归林 - 草稿
  10. sql 删除重复数据 只保留一条