少年阿賓

          那些青春的歲月

            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
          主站蜘蛛池模板: 两当县| 都匀市| 高平市| 鄂州市| 聊城市| 巩义市| 香港| 安多县| 和龙市| 孝昌县| 和硕县| 甘肃省| 托克托县| 遵义市| 工布江达县| 丽水市| 静安区| 上饶县| 东海县| 中超| 九龙坡区| 汨罗市| 凉城县| 沁源县| 崇州市| 中阳县| 白银市| 金昌市| 杭州市| 贵阳市| 象州县| 河东区| 瑞丽市| 黄骅市| 恩施市| 沙湾县| 安西县| 德化县| 黎川县| 遂溪县| 乡城县|