1.創建一個函式,以納稅人識別號為引數,回傳該納稅人的名稱。
2.創建一用戶ecode_user 密碼 Ecode1234, 默認表空間 Ecode_user 默認SIZE 5G 自增最大SIZE 10G,臨時表空間為TMP。
3.創建一個自定義函式,實作提取引數字串中的第一組數字的功能,如果字串中無數字則回傳 null。
例如:字串“ABC535D12D”,回傳結果 53512;字串“ECODE”回傳 null。
4.員工工資表如下:
表名 欄位 型別 說明
EMP_SALARY EMP_ID varchr2(32) 員工ID
EMP_SALARY EMP_NAME varchr2(32) 員工姓名
EMP_SALARY SAL number 工資
創建一個存盤程序,對程式員的工資進行分析,月薪1500到10000不等,如果有百分之五十的人薪水不到2000元,給所有人加薪,每次加100,再進行分析,直到有一半以上的人大于2000元為止,存盤程序執行完后,輸出最終加了多少錢?
Create or replace procedure
5.撰寫一存盤程序,根據凈入庫資料更新中間表資料,按照月份增量更新。中間表結構如下:
表名 欄位 欄位中文名 欄位型別 資料舉例
ECODE_ZJB_FHY NSRSBH 納稅人識別號 VARCHAR2(32) 91370105677281000A
ECODE_ZJB_FHY NSRMC 納稅人名稱 VARCHAR2(200) 濟南優凱經貿有限公司
ECODE_ZJB_FHY RKRQ 入庫日期 VARCHAR2(16) 2018-06
ECODE_ZJB_FHY HYML 行業門類 VARCHAR2(16) 建筑業
ECODE_ZJB_FHY SJJE 實繳金額 number 13798.09
ECODE_ZJB_FHY QXJE 區縣級金額 number 235.7
表名 欄位 欄位中文名 欄位型別 資料舉例
ECODE_ZJB_FSZ NSRSBH 納稅人識別號 VARCHAR2(32) 91370105677281000A
ECODE_ZJB_FSZ NSRMC 納稅人名稱 VARCHAR2(200) 濟南優凱經貿有限公司
ECODE_ZJB_FSZ RKRQ 入庫日期 VARCHAR2(16) 2018-06
ECODE_ZJB_FSZ SZMC 稅種名稱 VARCHAR2(16) 增值稅
ECODE_ZJB_FSZ SJJE 實繳金額 number 13798.09
ECODE_ZJB_FSZ QXJE 區縣級金額 number 235.7
(要求記錄資料處理日志)
6.報表中間表表名及表結構如下:
表名 欄位 欄位中文名 欄位型別 資料舉例
ECODE_ZJB_FHY NSRSBH 納稅人識別號 VARCHAR2(32) 91370105677281000A
ECODE_ZJB_FHY NSRMC 納稅人名稱 VARCHAR2(200) 濟南優凱經貿有限公司
ECODE_ZJB_FHY RKRQ 入庫日期 VARCHAR2(16) 2018-06
ECODE_ZJB_FHY HYML 行業門類 VARCHAR2(16) 建筑業
ECODE_ZJB_FHY SJJE 實繳金額 number 13798.09
ECODE_ZJB_FHY QXJE 區縣級金額 number 235.7
表名 欄位 欄位中文名 欄位型別 資料舉例
ECODE_ZJB_FSZ NSRSBH 納稅人識別號 VARCHAR2(32) 91370105677281000A
ECODE_ZJB_FSZ NSRMC 納稅人名稱 VARCHAR2(200) 濟南優凱經貿有限公司
ECODE_ZJB_FSZ RKRQ 入庫日期 VARCHAR2(16) 2018-06
ECODE_ZJB_FSZ SZMC 稅種名稱 VARCHAR2(16) 增值稅
ECODE_ZJB_FSZ SJJE 實繳金額 number 13798.09
ECODE_ZJB_FSZ QXJE 區縣級金額 number 235.7
撰寫一存盤程序,凈入庫資料與以上中間表資料進行對比,每月對比一次。將對比結果存盤結果表中,結果表資料展示要求:納稅人名稱、入庫日期、中間表實繳金額、凈入庫實繳金額、實繳金額差異、中間表區級金額、凈入庫區級金額、區級金額差異。(形成存盤程序資料處理日志,記錄存盤程序執行時間、時長、處理條數、是否成功、例外資訊(若例外顯示例外資訊,無例外顯示“處理成功”))。
7.將SXT_DJ_NSRXX表按照 主管稅務機關的所屬地市磁區(SXT_DJ_NSRXX表里有全省17地市的資料,按照17地市磁區), 并在常用欄位(根據平時練習題目來判斷哪些常用欄位)上創建索引。
8.創建一個存盤程序,輸出納稅人的名稱。
9.創建一個存盤程序,根據納稅人識別號,修改生產經營地址;生產經營地址的內容由傳入引數決定。
10.創建一個存盤程序,查詢入庫日期在一定范圍內(日期范圍由傳入的引數決定)的,各個區縣區縣級收入排名前10的企業基本資訊(納稅人識別號、納稅人名稱、行業、生產經營地址、注冊地址、主管稅務所科分局、納稅人狀態)和實繳金額、區縣級金額,并將查詢結果插入一個中間表中(中間表自建)。
11.創建一個存盤程序,將凈入庫表中濟南的資料按照月份匯總,并將結果插入到中間表(自行創建)中,呼叫存盤程序后中間表資料都會自動根據凈入庫的資料更新。
12.創建一個存盤程序,將凈入庫表中的資料按照月份匯總,并將結果插入到中間表中,同時可以根據傳入的稅務機關不同,生成不同稅務機關的資料且表名以對應的稅務機關代碼結尾。
13.利用函式,來判斷SXT_ZS_JRK.NSRSBH是否包含字母,如果是包含字母則剔除字母后回傳數字,如果不包含字母則直接回傳數字。
14.創建一個存盤程序,根據視圖VIEW_SXT_ZS_JRK 來SXT_ZS_JRK表資料。如果處理程序中存在例外,則rollback,并記錄錯誤編碼和錯誤資訊。
15.創建一個表SXT_ZS_JRK_MAP,表結構與SXT_ZS_JRK表結構完全一致。保持SXT_ZS_JRK_MAP表的資料與SXT_ZS_JRK表的資料實時同步。
uj5u.com熱心網友回復:
樓主這是題目,還是記錄筆記?uj5u.com熱心網友回復:
這是等級考試uj5u.com熱心網友回復:
發帖分不夠借樓發個帖子,希望大神幫忙看看--希望樓主不要介意create or replace procedure auto_update_qlrlb_fwid(v_slid varchar2) is
begin
declare
v_slid2 bdc_rec.slid%type:=rpad(v_slid,20,' ');
s INTEGER;
c bdc_qlrlb.bs%type;
--u number;
-- t number;
-- x number;
v_gyfs bdc_qlr.gyfs%type;
begin
select gyfs into v_gyfs from bdc_qlr where qlrid=(select qlrid from bdc_qlrlb where bz=0 and rownum=1 and slid=v_slid2);
select count(*) into s from bdc_h_dj where slid=v_slid2;
if s =1 then
update bdc_qlrlb a set dyid=(select fwid from bdc_h_dj b where a.slid=b.slid) where bz=0 and slid=v_slid2;
end if;
if s>1 and v_gyfs=0 then
select count(*) into c from bdc_qlrlb where bs is null and bz=0 and xh=1 and slid=v_slid2;
while c>0 loop
update bdc_qlrlb set bs=c where slid=v_slid and bs is null and rownum = 1;
commit;
c:= c-1;
end loop;
update bdc_qlrlb a set dyid=(select fwid from bdc_h_dj b where a.slid=b.slid and a.bs=b.oid) where bz=0 and slid=v_slid2;
end if;
end;
--if s =2 and v_gyfs=1 then
-- update bdc_qlrlb set sxh=rownum where slid=v_slid2 order by bz;
end auto_update_qlrlb_fwid;
這個編譯程序執行的時候回圈里面的更新陳述句執行也不報錯,但是執行結果不生效,單獨用SQL陳述句執行是正常的,就是在程序里面執行不生效,
uj5u.com熱心網友回復:
begin 是不是寫多了
uj5u.com熱心網友回復:
你可以把你所用到的 引數 全部 dbms_output.put_line 輸出看看 就知道 哪個地方 卡住了。
或者 把你的 程序 些個 陳述句塊,把輸入引數 指定一下,更加利于除錯。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/55527.html
標籤:基礎和管理
