posts - 60,comments - 71,trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(6)

          我參與的團隊

          隨筆檔案

          文章分類

          文章檔案

          博客集錦

          資源與技術網站

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜


              mysql等其他數據庫中有隨著記錄的插入而表ID自動增長的功能,而oracle卻沒有這樣的功能,但我們可以用序列和觸發器來實現這樣的功能.

          一)建立序列:
          create sequence SMSLOG_SEQ
          minvalue 
          1
          maxvalue 
          999999999999999999
          start 
          with 601
          increment 
          by 1
          cache 
          20;
          二)建立觸發器:
          CREATE OR REPLACE TRIGGER "smslog_trig"
            BEFORE 
          INSERT ON smslog
            REFERENCING OLD 
          AS OLD NEW AS NEW FOR EACH ROW 
          DECLARE
          BEGIN
            
          SELECT smslog_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
          END smslog_trig;
          三)建立表:
          create table SMSLOG
          (
            ID       
          NUMBER not null,
            USERID   
          NUMBER,
            USERNAME 
          VARCHAR2(200),
            DEPTID   
          NUMBER
          )

          這樣在執行: insert into smslog(userid,username,deptid) values('001','aaa','1001');時將會自動給ID自動賦值1,每插入一條記錄,ID的值會增加1.

          注:以上序列,觸發器等在PL/SQL工具中建立很容易,但如果是在命令行中創建,則語句最后要是"/",即執行的意思,而不是";",
          如創建觸發器,命令為:
          CREATE OR REPLACE TRIGGER "smslog_trig"
            BEFORE 
          INSERT ON smslog
            REFERENCING OLD 
          AS OLD NEW AS NEW FOR EACH ROW 
          DECLARE
          BEGIN
            
          SELECT smslog_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
          END smslog_trig;
          /
          posted on 2008-05-31 16:19 henry1451 閱讀(1298) 評論(0)  編輯  收藏 所屬分類: Oracle技術
          主站蜘蛛池模板: 洪湖市| 屏边| 桦南县| 中方县| 兴隆县| 琼结县| 无极县| 剑阁县| 民丰县| 双鸭山市| 大英县| 石家庄市| 开化县| 三明市| 无棣县| 玉环县| 平顺县| 霍邱县| 济宁市| 铅山县| 象山县| 怀柔区| 阿坝县| 新乡市| 新巴尔虎左旗| 永寿县| 宜昌市| 行唐县| 株洲市| 贡山| 舟山市| 丁青县| 肥东县| 盐源县| 柳林县| 德化县| 平顶山市| 昭通市| 玛曲县| 运城市| 句容市|