少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          建立異常表:

          -- Create table
          create table ORACLEEXCEPTION
          (
            ID          VARCHAR2(36),
            CREATETIME  DATE,
            SQLCODE1    NVARCHAR2(300),
            SQLERRM1    NVARCHAR2(300),
            MYEXCEPTION NVARCHAR2(100)
          )
          tablespace USERS
            pctfree 10
            initrans 1
            maxtrans 255
            storage
            (
              initial 64K
              minextents 1
              maxextents unlimited
            );

           

           

          編寫oracle--function:

          create or replace function getabin(abin in varchar2)
          return varchar2
          is
          result varchar2(50);
          sqlcode2 nvarchar2(500):='';
          sqlerrm2 nvarchar2(500):='';
          myexception nvarchar2(500):='';
          exception1 exception;
          begin
          if(abin is not null) then
          select count(1) into result from bing1 t where t.name1 like abin;
          return(result);
          elsif(abin is null) then
          result:='there is a defined exception';
          raise exception1;
          end if;

          exception
          when exception1 then
          sqlcode2:=sqlcode;
          sqlerrm2:=sqlerrm;
          begin
          insert into oracleexception(id,createtime,sqlcode1,sqlerrm1,myexception) values (sys_guid(),sysdate,sqlcode2,sqlerrm2,'exception1');
          commit;
          end;
          return(result);
          when others then
          result:='there is a other exception';
          sqlcode2:=sqlcode;
          sqlerrm2:=sqlerrm;
          begin
          insert into oracleexception(id,createtime,sqlcode1,sqlerrm1,myexception) values (sys_guid(),sysdate,sqlcode2,sqlerrm2,'others');
          commit;
          end;
          return(result);
          end;

           

           

           

          測試oracle--function代碼:

          declare 
          ename varchar2(50):='';
          result varchar2(50);
          begin
          result:=getabin(ename);
          dbms_output.put_line(result);
          end;

           

          posted on 2012-08-13 23:34 abin 閱讀(843) 評論(0)  編輯  收藏 所屬分類: oracle
          主站蜘蛛池模板: 卓尼县| 洮南市| 临沂市| 密山市| 江山市| 邵武市| 霍林郭勒市| 承德市| 丹巴县| 晋中市| 杭州市| 凤庆县| 阿克陶县| 永春县| 濉溪县| 东乡县| 施甸县| 八宿县| 吐鲁番市| 喀喇| 新竹市| 皋兰县| 江安县| 上栗县| 绍兴市| 嵊泗县| 定结县| 东方市| 宁德市| 通辽市| 洛川县| 尉氏县| 耿马| 武冈市| 金秀| 江西省| 武隆县| 措勤县| 北辰区| 桦甸市| 利川市|