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;
分享到:
相关推荐
另外,使用游标也可以轻易的取出在检索出来的行中前进或后退一行或多行的结果。 游标可以遍历返回的多行结果。 补充: Mysql中游标只适用于存储过程以及函数。 创建游标: 语法: 1.定义游标:declare 游标名...
1.3.1 第一代数据库 1.3.2 第二代数据库 1.3.3 新一代数据库技术的研究和发展 1.4 关系数据库 1.4.1 关系模型 1.4.2 Codd十二法则 1.4.3 范式 1.5 SQL语言基础 1.5.1 SQL的历史 1.5.2 ...
游标的定义为:用游标来指代一个DML SQL操作返回的结果集。即当一个对数据库的查询操作返回一组结果集时,用游标来标注这组结果集,以后通过对游标的操作来获取结果集中的数据信息。这里特别提出游标的概念,是...
游标的定义为:用游标来指代一个DML SQL操作返回的结果集。即当一个对数据库的查询操作返回一组结果集时,用游标来标注这组结果集,以后通过对游标的操作来获取结果集中的数据信息。这里特别提出游标的概念,是...
13. 用_____语句修改表的一行或多行数据。( A ) A.Update B.set C.Select D.Where 14. 使用什么命令可以清除表中所有的内容? ( D ) A.INSERT B.UPDATE C. DELETE D.TRUNCATE 15.关于模式的描述下列哪一项不...
3.另一种隐式游标 64 (二)显示游标 64 1.声明 64 2.打开和关闭 65 3.检索数据 65 (三)游标For循环 65 (四)游标变量 (动态游标) 66 1.定义 66 2.声明游标变量 66 3.打开游标变量 66 (五) 使用游标更新数据库 66 ...
1.3.1 第一代数据库 7 1.3.2 第二代数据库 7 1.3.3 新一代数据库技术的研究和发展 7 1.4 关系数据库 8 1.4.1 关系模型 8 1.4.2 codd十二法则 9 1.4.3 范式 10 1.5 sql语言基础 11 1.5.1 sql的历史 11 1.5.2...
行级(ROW)触发器:是指当某触发事件发生时,对受到该操作影响的每一行数据,触发器都单独执行一次。 创建触发器 创建触发器的一般语法是: CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER | INSTEAD ...
以SQL Server为工具,讲解SQL语言的应用,提供了近500个曲型应用,读者可以随查随用,深入讲解SQL语言的各种查询语句,详细介绍数据库设计及管理,详细讲解存储过程、解发器和游标等知识,讲解了SQL语言在高级语言中...
一行中可以有多条SQL语句,他们之间以分号分隔。每一个PL/SQL块由BEGIN或DECLARE开始,以END结束。注释由--标示。 PL/SQL块的命名和匿名 PL/SQL程序块可以是一个命名的程序块也可以是一个匿名程序块。匿名...
自动:当表上定义主键约束、唯一、外键约束时,该表会被系统自动添加上索引。 手动:手动在相关表或列上增加索引,提高查询速度。 删除索引方式: 自动:当表对象被删除时,该表上的索引自动被删除 手动:手动删除...
1.14 改变多行文本字符串的缩进 29 1.15 扩展和压缩制表符 31 1.16 替换字符串中的子串 33 1.17 替换字符串中的子串-Python 2.4 34 1.18 一次完成多个替换 36 1.19 检查字符串中的结束标记 39 1.20 使用...
9.2.2 通用换行符支持(UNS) 9.3 文件内建方法 9.3.1 输入 9.3.2 输出 9.3.3 文件内移动 9.3.4 文件迭代 9.3.5 其他 9.3.6 文件方法杂项 9.4 文件内建属性 9.5 ...
9.2.2 通用换行符支持(UNS) 9.3 文件内建方法 9.3.1 输入 9.3.2 输出 9.3.3 文件内移动 9.3.4 文件迭代 9.3.5 其他 9.3.6 文件方法杂项 9.4 文件内建属性 9.5 ...
颜色、图像及背景 <br>11.1 颜色基础 <br>11.2 Web上的颜色 <br>11.2.1 比特深度 <br>11.2.2 在Web上定义颜色 <br>11.2.3 浏览器安全颜色 <br>11.2.4 混合色 <br>11.2.5 HTML和颜色 ...
颜色、图像及背景 <br>11.1 颜色基础 <br>11.2 Web上的颜色 <br>11.2.1 比特深度 <br>11.2.2 在Web上定义颜色 <br>11.2.3 浏览器安全颜色 <br>11.2.4 混合色 <br>11.2.5 HTML和颜色 ...