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表的数据实时同步。

解决方案 »

  1.   

    发帖分不够借楼发个帖子,希望大神帮忙看看--希望楼主不要介意
    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语句执行是正常的,就是在过程里面执行不生效,
      

  2.   


    begin 是不是写多了
      

  3.   

    你可以把你所用到的 参数 全部 dbms_output.put_line 输出看看 就知道 哪个地方 卡住了。
    或者 把你的 过程 些个 语句块,把输入参数 指定一下,更加利于调试。