公司郵箱通訊錄的更新
#############################
公司郵箱通訊錄的更新
本儲存過程實現的功能:
把一個員工在tb_sta_emp表的c_gsyx的值,update到tb_sta_communication表裡面的c_business_email欄位一份;如果tb_sta_communication表裡沒有該員工的資訊,就在tb_sta_communication表裡面insert一條c_business_email記錄
總之一句話,有就update,沒有就insert
##############################
create or replace procedure gsyxtoemail
is
v_c_gsyx tb_sta_emp.c_gsyx%type;
v_c_oid tb_sta_emp.c_oid%type;
v_c_employee_id tb_sta_communication.c_employee_id%type;
v_c_business_email tb_sta_communication.c_business_email%type;
v_count_employee_id number;
v_C_OFFICE_TEL_emp tb_sta_emp.C_OFFICE_TEL%type;
v_C_EMAIL tb_sta_emp.C_EMAIL%type;
v_c_sj tb_sta_emp.c_sj%type;
v_C_OFFICE_TEL tb_sta_communication.C_OFFICE_TEL %type;
v_C_PER_EMAIL tb_sta_communication.C_PER_EMAIL%type;
v_C_MOBILE_TEL tb_sta_communication.C_MOBILE_TEL%type;
cursor c1 is select c_oid,c_gsyx,C_OFFICE_TEL,C_EMAIL,c_sj from tb_sta_emp;
begin
for i in c1
loop
v_c_oid:=i.c_oid;
v_c_gsyx:=i.c_gsyx;
v_C_OFFICE_TEL_emp:=i.C_OFFICE_TEL;
v_C_EMAIL:=i.C_EMAIL;
v_c_sj:=i.c_sj;
select count(c_employee_id) into v_count_employee_id from tb_sta_communication where c_employee_id=v_c_oid ;
if v_count_employee_id=0
then
insert into tb_sta_communication (C_OID,c_employee_id,c_business_email,C_OFFICE_TEL,C_PER_EMAIL,C_MOBILE_TEL) values (v_c_oid,v_c_oid,v_c_gsyx,v_C_OFFICE_TEL_emp,
v_C_EMAIL,v_c_sj);
elsif v_count_employee_id>0
then
update tb_sta_communication set c_business_email=v_c_gsyx ,C_OFFICE_TEL=v_C_OFFICE_TEL_emp, C_PER_EMAIL=v_C_EMAIL,C_MOBILE_TEL=v_c_sj where c_employee_id=v_c_oid;
end if;
commit;
end loop;
end;
/
結果驗證:
select c_oid, c_gsyx from tb_sta_emp
select C_OID,c_employee_id,c_business_email,C_OFFICE_TEL,C_PER_EMAIL,C_MOBILE_TEL from tb_sta_communication
新增作業:
SQL> conn / as sysdba
Connected.
SQL> grant select on jobseq to TB52; 授予許可權
SQL>conn TB52/xxx
SQL>var jobno number 幫定變數 存數值的
SQL>print jobno 基於會話的
SQL>select sys.JOBSEQ.nextval from dual; 檢視序列號 job從這裡面取得號
begin
dbms_job.submit(:jobno,
'gsyxtoemail(); ', --定時執行儲存過程
sysdate, --下一次時間
'sysdate+1/24/60'); --2分鐘執行一次
commit; --執行commit才生效
end;
show parametrer job -- 0表示一個作業也跑不了 把資料放大點 表示能跑幾個作業
alter system set job_queue_processes=10;
檢視建立的作業:
col INTERVAL for a20
col what for a30
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
select job,LOG_USER,LAST_DATE,NEXT_DATE,INTERVAL,what from user_jobs;
#############
select * from tb_sta_emp --C_OFFICE_TEL,C_EMAIL,c_sj
select * from tb_sta_communication --C_OFFICLE_TEL,C_PER_EMAL,c_moble_tel
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28916011/viewspace-2108401/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 更新Apple id郵箱以及常用海外郵箱使用/設定方法APP
- 如何註冊國外郵箱並享受全球通訊
- 企業郵箱的開通及解析
- Jenkins郵箱配置踩坑錄Jenkins
- 如何修改git已提交記錄的郵箱?Git
- Exchange批量建立使用者組及啟用通訊組郵箱
- 電子郵箱是qq郵箱嗎 電子郵箱和qq郵箱的區別聯絡介紹
- Gitlab7.0通知郵箱的配置Gitlab
- 直接用通訊錄Excel群發電子郵件Excel
- 直接用通訊錄Excel群發電子郵件(轉)Excel
- 將微信聊天記錄中的檔案傳送到郵箱
- gitlab郵箱驗證 郵箱提醒設定Gitlab
- 怎樣防止同事用 QQ 郵箱提交公司程式碼?
- qq郵箱怎麼發檔案給別的郵箱 qq郵箱如何將文件傳送給別人
- win10自帶郵件怎麼新增qq郵箱_win10郵箱如何匯入qq郵箱Win10
- 蘋果郵箱地址蘋果
- win10 email配置qq郵箱如何操作_win10郵箱怎麼新增qq郵箱Win10AI
- 個人郵箱與企業郵箱的區別有哪些?如何選擇?
- 從通訊工具到協同辦公平臺 釘釘2.0整合郵箱、OA和儲存
- git 修改之前提交記錄的某幾次記錄的賬號和郵箱Git
- 檢測郵箱是否是QQ郵箱並給出提示
- 把企業郵箱換成Zoho Mail企業郵箱之前的疑問AI
- PHP中的郵箱驗證PHP
- 通訊錄AdressDAO
- golang傳送郵件(qq郵箱)Golang
- win10系統下郵箱怎麼新增qq郵箱Win10
- 如何申請企業郵箱?企業郵箱選購指南
- win10自帶郵箱無法登入QQ郵箱Win10
- 工作郵箱怎麼註冊?企業郵箱有哪些功能?
- win10郵件怎麼用qq郵箱 win10郵件如何使用qq郵箱Win10
- 隱形通訊錄:全新iOS通訊錄應用概念設計iOS
- google smtp 郵箱配置Go
- js驗證郵箱JS
- Mac電子郵箱Mac
- gitlab 郵箱配置Gitlab
- python清空郵箱Python
- Javascript郵箱驗證JavaScript
- repo 修改郵箱地址