少年阿賓

          那些青春的歲月

            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 閱讀(848) 評論(0)  編輯  收藏 所屬分類: oracle
          主站蜘蛛池模板: 腾冲县| 榆树市| 永川市| 灵川县| 安康市| 朝阳区| 习水县| 喀喇沁旗| 繁峙县| 崇阳县| 正蓝旗| 汨罗市| 昆明市| 夏津县| 博白县| 灵川县| 镇安县| 青河县| 礼泉县| 石泉县| 长白| 灯塔市| 新绛县| 台中市| 塘沽区| 小金县| 得荣县| 龙岩市| 长治市| 台南县| 时尚| 黄石市| 佛教| 罗城| 广昌县| 民勤县| 肥东县| 聂拉木县| 民县| 饶平县| 锦屏县|