千家信息网

呼叫中心数据入库脚本的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了呼叫中心数据入库脚本的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。CREATE OR REPLACE PR
千家信息网最后更新 2026年11月01日呼叫中心数据入库脚本的示例分析

这篇文章主要介绍了呼叫中心数据入库脚本的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

CREATE OR REPLACE PROCEDURE "M_XA_WH_DAILY_COUNT" is

cursor cur_28424 is

select * from item_28424_sp@cm_xa

where conclusion in (61673,61680,61695) --61694 拒收

AND (qc_first !=0 or qc_first is null)

and done_flag<>7

and substr(donetime,1,10) <=to_char(sysdate-2,'yyyy-mm-dd')

and nvl(recycle_result,0)=0;

rec_28424 cur_28424%rowtype;

nMemberID number(10);

vName varchar2(30);

vAreaID number(10);

vAddress varchar2(200);

vState varchar2(10);

vStatDate varchar2(20);

nCount number(10);

vMobile varchar2(20);

vMemberName varchar2(255);

-- sID number(10);

v_name varchar2(255);

-- v_areacode varchar2(64);

-- nParentID number(10);

-- Cnt number(10);

v_passwd number(10);

v_passwdid number(10);

v_ccnum1 number(10);

v_ccnum2 number(10);

v_ccid number(10);

v_id number(10);

vregsource varchar2(50);

vcometime varchar2(20);

begin

--************************************************************************************************************************************

select COUNT(*) INTO v_ccnum1 from item_28424_sp@cm_xa

where (qc_first !=0 or qc_first is null)

and done_flag<>7

and substr(donetime,1,10) <=to_char(sysdate-2,'yyyy-mm-dd')

and nvl(recycle_result,0)=0;

open cur_28424;

loop

fetch cur_28424 into rec_28424;

exit when cur_28424%notfound;

vStatDate:=substr(rec_28424.DoneTime,1,10);

vState := '合格';

---名字规范

v_name:='X';

if jay_is_chinesename(regexp_replace(to_single_byte(replace(rec_28424.col_0,' ')),'.∗.∗')) =1 then

v_name:=regexp_replace(to_single_byte(trim(rec_28424.col_0)),'.∗.∗');

end if;

if jay_is_chinesename(regexp_replace(to_single_byte(replace(rec_28424.col_8,' ')),'.∗.∗')) =1 then

v_name:=regexp_replace(to_single_byte(trim(rec_28424.col_8)),'.∗.∗');

end if;

if v_name='X' then

vState := '姓名不规范'; --vState := '拒收';

end if;

---------------------------------------------------------------------------------------------------

if rec_28424.Col_12 is null then --地址更新为空

vState := '地址不规范';

end if;

if (rec_28424.Col_11 is null or lengthb(trim(rec_28424.Col_11))<>6 or substr(trim(rec_28424.Col_11),-4)='0000' or length(trim(rec_28424.Col_11))!=6) then --邮编更新为空

vState := '邮编不规范';

end if;

/*if (fun_IsNumber(rec_28424.col_11)!=1 or length(rec_28424.col_11)>12) AND rec_28424.col_11 IS NOT NULL then

vState := '手机不规范';

end if;*/

/*if (fun_IsNumber(rec_28424.Col_10)!=1 or length(rec_28424.Col_10)>12 or length(rec_28424.Col_10)<11) AND rec_28424.Col_10 IS NOT NULL then

vState := '手机不规范';

end if; */

if rec_28424.Col_2 is null and rec_28424.Col_10 is null then

vState := '手机不规范';

end if;

if instr(rec_28424.Col_10,'*')>0 or (length(trim(rec_28424.Col_10))>0 and fun_IsNumber(rec_28424.col_10)!=1) or rec_28424.col_10 is null or length(trim(rec_28424.Col_10))<>11 then

if instr(rec_28424.Col_2,'*')>0 or (length(trim(rec_28424.Col_2))>0 and fun_IsNumber(rec_28424.col_2)!=1) or rec_28424.col_2 is null or length(trim(rec_28424.Col_2))<>11 then

vState := '手机不规范';

else

vmobile := rec_28424.Col_2;

end if;

--elsif instr(rec_28424.Col_2,'*')>0 or (length(trim(rec_28424.Col_2))>0 and fun_IsNumber(rec_28424.col_2)!=1) then

-- vState := '手机不规范';

else vmobile := rec_28424.Col_10;

end if;

-- if length(trim(rec_28424.Col_105)) >64 then

-- vState := 'email不规范';

-- end if;

vAddress := to_single_byte(trim(rec_28424.Col_12));

--如果地址止于数字,则补上"室"

if substr(vAddress,length(vAddress),1) in ('0','1','2','3','4','5','6','7','8','9') then

vAddress := vAddress || '室';

end if;

--地址准确性

/* if (instr(vAddress,'(地址可收)')=0 or instr(vAddress,'(地址可收)')=0 or instr(vAddress,'(地址可收)')=0 or instr(vAddress,'(地址可收)')=0) then

if rec_28424.Col_15='公司地址' then

if GetDigitalCount(vAddress)=0 or (substr(vAddress,length(vAddress))='号' or substr(vAddress,length(vAddress))='楼') then

vState := '地址不规范';

end if;

else --家庭地址

if GetDigitalCount(vAddress)<2 or substr(vAddress,length(vAddress),1) not in ('室','座') then

vState := '地址不规范';

end if;

end if;

else

vAddress := replace(vAddress,'地址可收','');

end if;*/

vAddress := replace(vAddress,'地址可收','');

if instr(vaddress,')')>0 then

vaddress := replace(vaddress,')','');

end if;

if instr(vaddress,'(')>0 then

vaddress := replace(vaddress,'(','');

end if;

if instr(vaddress,'(')>0 then

vaddress := replace(vaddress,'(','');

end if;

if instr(vaddress,')')>0 then

vaddress := replace(vaddress,')','');

end if;

--匹配邮编(外地数据不匹配邮编)

if vState='合格' and v_name!='X' then

select Name

into vName

from userinfo@cm_xa

where id=rec_28424.oper_site;

--武汉

select count(*)

into nMemberID

from dic_area

where parentid=2954 and substr(areaname,1,2)=substr(rec_28424.col_16,1,2) and cancelflag=0;

if nMemberID>0 then

select AreaID

into vAreaID

from dic_area

where parentid=2954 and substr(areaname,1,2)=substr(rec_28424.col_16,1,2) and cancelflag=0;

else

vAreaID := null;

end if;

--姓名、手机号整理

vMemberName := v_name;

/* if rec_28424.Col_10 is null or instr(rec_28424.Col_10,'*')>0 or

(fun_IsNumber(rec_28424.Col_10)=1 and length(rec_28424.Col_10)<>11 and length(rec_28424.Col_10)<>12 and length(rec_28424.Col_10)<20) then

if rec_28424.col_11 is null or instr(rec_28424.col_11,'*')>0 or

(fun_IsNumber(rec_28424.col_2)=1 and length(rec_28424.col_2)<>11 and length(rec_28424.col_2)<>12 and length(rec_28424.col_2)<20) then

if substr(rec_28424.col_2,1,1)='0' then

vMobile := substr(rec_28424.Col_2,2);

else

vMobile := rec_28424.col_2;

end if;

end if;

else

if substr(rec_28424.Col_10,1,1)='0' then

vMobile := substr(rec_28424.Col_10,2);

else

vMobile := rec_28424.Col_10;

end if;

end if;*/

-- vmobile := nvl(rec_28424.Col_10,rec_28424.Col_2);

vmobile := substr(vmobile,-11);

--end of姓名、手机号整理

select count(*)

into nMemberID

from Memberinfo@yesmynet

where LogID=vMobile or Mobile=vMobile ;

-- or email=(case when instr(replace(trim(rec_28424.Col_105),'无'),'@') > 0 then replace(trim(rec_28424.Col_105),'无') else null end)

-- or name||address=v_name||vAddress;

if nMemberID=0 then

select seq_m_member_account_id.nextval@yesmynet

into nMemberID

from dual;

/* if instr(vaddress,rec_28424.col_10)>0 and instr(vaddress,rec_28424.col_9)>0 then

vaddress := vaddress;

end if;

if instr(vaddress,rec_28424.col_10)>0 and instr(vaddress,rec_28424.col_9)<0 then

vaddress := rec_28424.col_9||vaddress;

end if;

if instr(vaddress,rec_28424.col_10)<0 and instr(vaddress,rec_28424.col_9)<0 then

if instr(vaddress,rec_28424.col_16)>0 then

vaddress := rec_28424.col_9||rec_28424.col_10||vaddress;

else vaddress := rec_28424.col_9||rec_28424.col_10||rec_28424.col_16||vaddress;

end if;

end if;

if instr(vaddress,rec_28424.col_10)<0 and instr(vaddress,rec_28424.col_9)>0 then

vaddress := rec_28424.col_9||rec_28424.col_10||substr(vaddress,4);

else vaddress := vaddress;

end if;*/

vaddress := '湖北省武汉市'||rec_28424.col_16||vaddress;

-- end if;

/* if substr(vAddress,1,length(rec_28424.col_16))=rec_28424.col_16 then

vAddress := substr(vAddress,length(rec_28424.Col_16)+1);

end if;

if substr(rec_28424.Col_11,length(rec_28424.Col_11),1)='市' then

vAddress := '福建省'||rec_28424.Col_11||vAddress;

else

vAddress := '福建省厦门市'||rec_28424.col_16||vAddress;

end if; */

SELECT trunc(dbms_random.value(100000,999999)) INTO v_passwd FROM dual ;

insert into memberinfo@yesmynet(MemberID,LogID,LogPassword,MemberTypeID,name,sex,address,postcode,

Mobile,RegSourceID,ComeSource,ComeAgent,ComeAgentNo,

SubmitDate,AreaID,

AddressType,AreaCode,come_time,goodsline,exchange_point,total_point,cancelflag,rank_id)

values(nMemberID,vMobile,v_passwd,'MEMBER_TYPE_PERSONAL',vMemberName,decode(nvl(rec_28424.col_9,rec_28424.col_1),'女','f','男','m'),vAddress,trim(rec_28424.Col_11),

vMobile,'MEMBER_REG_SOURCE_OB','西安',vName,rec_28424.oper_site,

sysdate,vAreaID,substrb(rec_28424.Col_15,1,10),

'027',to_date(rec_28424.DoneTime,'yyyy-mm-dd hh34:mi:ss'),'GOODS_TYPE_WINE',100,100,0,'MEMBER_LEVEL_NORMAL');

SELECT max(id)+1 INTO v_passwdid from m_user_password_notify;

INSERT INTO m_user_password_notify(user_id,mobile,TRUE_NAME,PASSWORD,SUBMIT_TIME,ID)

VALUES (nMemberID,vMobile,vMemberName,v_passwd,SYSDATE,v_passwdid);

COMMIT;

--2009增加积分表信息

insert into m_Score_History@yesmynet(score_his_id,member_id,cha_reason,cha_score,

total_score,exchange_score,is_gain,version,CHA_DATE)

select seq_m_score_history_id.nextval@yesmynet,nMemberID,'SCORE_CHANGE_REASON_REG',100,

100,100,1,0,sysdate from dual;

/*execute immediate 'select SEQ_MW_RANK_HISTORY_ID.nextval from dual' into sID;

insert into MW_RANK_HISTORY(ID,USER_ID,RANK_ID,RANK_TYPE,RANK_REASON,TOTAL_POINT,

EXCHANGE_POINT,RANK_POINT)

values(sID,nMemberID,0,1,'注册',100,

100,100);*/

--end of 2009增加积分表信息

--插入记录表

insert into REDWINE_TOMATO_TAB values (rec_28424.cid,rec_28424.oper_site,rec_28424.donetime,vMobile,'西安','武汉',sysdate,28424);

update item_28424_sp@cm_xa

set done_flag=7,recycle_result=1,recycle_date=sysdate

where cid=rec_28424.cid;

commit;

else

-------------------如果重复需要看重复日期

select count(*)

into nCount

from memberinfo@yesmynet

where (LogID=vMobile or Mobile=vMobile

-- or email=(case when instr(replace(trim(rec_28424.Col_105),'无'),'@') > 0 then replace(trim(rec_28424.Col_105),'无') else null end)

or name||address=v_name||vAddress) and to_char(submitdate,'yyyy-mm-dd')>=substr(rec_28424.DoneTime,1,10);

--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

if nCount>=1 then --挖掘成功后用户自行注册

/* if substr(vAddress,1,length(rec_28424.Col_100))=rec_28424.Col_100 then

vAddress := substr(vAddress,length(rec_28424.Col_100)+1);

end if;

vAddress := '北京市'||rec_28424.Col_100||vAddress;

update memberinfo@yesmynet

set name=nvl(name,vMemberName),

sex=nvl(sex,decode(nvl(rec_28424.col_18,rec_28424.col_1),'女',0,'男',1)),

address=nvl(address,vAddress),

PostCode=nvl(postcode,trim(rec_28424.Col_11)),

--Mobile=nvl(mobile,vMobile),

email=nvl(email,(case when instr(replace(trim(rec_28424.Col_105),'无'),'@') > 0 then replace(trim(rec_28424.Col_105),'无') else null end)),

ComeAgent=vName,

ComeAgentNo=rec_28424.oper_site,

ComeCallCenterID=2,

addresstype=nvl(addresstype,substrb(rec_28424.Col_19,1,10)),

Areacode=nvl(areacode, '010')

where LogID=vMobile or Mobile=vMobile

or email=(case when instr(replace(trim(rec_28424.Col_105),'无'),'@') > 0 then replace(trim(rec_28424.Col_105),'无') else null end)

or name||address=v_name||vAddress;

COMMIT;*/

insert into REDWINE_TOMATO_TAB values (rec_28424.cid,rec_28424.oper_site,rec_28424.donetime,vMobile,'西安','武汉',sysdate,28424);

update item_28424_sp@cm_xa

set done_flag=7,recycle_result=1,recycle_date=sysdate

where cid=rec_28424.cid;

COMMIT;

else --拨打前注册,重复,拒收 ID 61694

update item_28424_sp@cm_xa

set done_flag=7,conclusion=61694,recycle_reason='拨打前注册'

where cid=rec_28424.cid; --设定座席不可见

end if;

END IF ;

else

INSERT INTO item_28424_problem VALUES (rec_28424.cid,vMobile,to_date(rec_28424.donetime,'yyyy-mm-dd hh34:mi:ss'));

--拒收ID: 61694

update item_28424_sp@cm_xa

set conclusion=61694,recycle_reason=vState

where cid=rec_28424.cid;

end if;

commit;

end loop;

close cur_28424;

/* select COUNT(*) INTO v_ccnum2 from item_28424_sp@cm_xa a,projectresultinfo@cm_xa b

where conclusion in (59605,59612,59627) --59626

AND (qc_first !=0 or qc_first is null)

and done_flag=7

and substr(donetime,1,10) <=to_char(sysdate-2,'yyyy-mm-dd')

and nvl(recycle_result,0)=1

and to_char(recycle_date,'yyyymmdd')=to_char(SYSDATE,'yyyymmdd');

SELECT SEQ_mw_accept_cc_data_ID.nextval INTO v_ccid FROM dual;

SELECT COUNT(*) INTO v_id FROM mw_accept_cc_data t WHERE to_char(t.ACCEPT_TIME,'yyyymmdd')=to_char(SYSDATE,'yyyymmdd') AND t.CC_PROJECT_ID=28424;

IF v_id =0 THEN

INSERT INTO mw_accept_cc_data VALUES(v_ccid,2,28424,v_ccnum1,v_ccnum2,SYSDATE);

COMMIT;

ELSE

UPDATE mw_accept_cc_data t SET t.SUCCESS_NUM=v_ccnum1,accept_num=v_ccnum2,accept_time=SYSDATE WHERE to_char(t.ACCEPT_TIME,'yyyymmdd')=to_char(SYSDATE,'yyyymmdd') AND t.CC_PROJECT_ID=28424;

COMMIT;

END IF;*/

end;

感谢你能够认真阅读完这篇文章,希望小编分享的"呼叫中心数据入库脚本的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

地址 手机 篇文章 邮编 武汉 数据 姓名 西安 呼叫中心 示例 脚本 分析 呼叫 信息 手机号 积分 积分表 福建 福建省 更新 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡豆 互联网科技公司简介 腾讯阿里互联网科技 互联网 的科技创新 互联网科技公司官网 互联网科技视频 火传媒上海互联网科技 新华互联网科技校企合作 互联网公司会议桌创意科技软装饰 互联网教育科技公司vipkid 互联网科技教育视频 福建科技产业互联网发展 岳阳华臻互联网科技有限公司 辽宁互联网新科技 元气玛特互联网科技公司是外包吗 福建互联网展示科技馆设计 玉溪新华互联网科技怎么选 互联网科技自媒体灵感 银川新华互联网科技学校招聘 如何强化互联网金融科技 上海睿民互联网科技有限公司 互联网 科技 深圳互联网络科技有限公司 互联网科技大会案例 广州慧亚互联网科技怎么样 恒生互联网科技指数跳水 本届互联网博览会上的黑科技 互联网高科技行业有哪些企业 广东猫王互联网科技有限公司电话 武汉亿视互联网科技有限公司
0