開花流水

          空山無人,水流花開。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            79 Posts :: 42 Stories :: 160 Comments :: 0 Trackbacks

          先創建一個名字為test_Sequence的序列,然后執行下列語句,
          CREATE TABLE example1(
          ID Number(4) NOT NULL PRIMARY KEY,
          NAME VARCHAR(25),
          PHONE VARCHAR(10),
          ADDRESS VARCHAR(50));


          create trigger "example1_tt" before insert
          on "EXAMPLE1" for each row
          declare
              integrity_error  exception;
              errno            integer;
              errmsg           char(200);
              dummy            integer;
              found            boolean;

          begin
              --  Column ""ID"" uses sequence Sequence_increase
              select test_Sequence.Nextval INTO :new."ID" from dual;

          --  Errors handling
          exception
              when integrity_error then
                 raise_application_error(errno, errmsg);
          end;

          需要注意的是不同的表共用同一個序列時,由于序列的是一個,所以不同表的自增會不連續,另外和SqlServer不同的還有,設置了這個以后主鍵是可以自己維護的,只有當主鍵為空時才會調用觸發器,由序列產生自增值。

          另外,pd自動生成的oracle的sql語句是包含雙引號的,可能導致oracle權限的錯誤,錯誤提示是:ORA-00904:invalid identifier。
          posted on 2010-07-30 17:26 開花流水 閱讀(4015) 評論(0)  編輯  收藏 所屬分類: java技術
          主站蜘蛛池模板: 潜江市| 会宁县| 长顺县| 舒兰市| 囊谦县| 兰州市| 襄汾县| 安溪县| 鄯善县| 大港区| 武川县| 永定县| 慈溪市| 中阳县| 泽州县| 高邮市| 翁牛特旗| 永德县| 陆河县| 田东县| 孟州市| 长沙市| 绍兴县| 忻州市| 西昌市| 上高县| 定西市| 泰安市| 汉沽区| 东安县| 西乌珠穆沁旗| 宣威市| 阜平县| 中牟县| 融水| 池州市| 会理县| 洛川县| 读书| 本溪市| 沈阳市|