Knight of the round table

          wansong

          oracle sequence ibatis

          http://www.javaeye.com/topic/215571
          <!-- Oracle SEQUENCE -->
          <insert id="insertProduct-ORACLE" parameterClass="com.domain.Product">
              <selectKey resultClass="int" keyProperty="id" type="pre">
                  <![CDATA[SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL]]>
              </selectKey>
              <![CDATA[insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values(#id#,#description#)]]>
          </insert>


          http://www.dnbcw.com/biancheng/oracle/BVBZ11361.html

          create table example(
          id number(4) not null primary key,
          name varchar(25),
          phone varchar(10),
          address varchar(50));
          然后,你需要一個自定義的sequence
          create sequence emp_sequence
          increment by 1 -- 每次加幾個
          start with 1 -- 從1開始計數
          nomaxvalue -- 不設置最大值
          nocycle -- 一直累加,不循環
          nocache -- 不建緩沖區
          以上代碼完成了一個序列(sequence)的建立過程,名稱為emp_sequence,范圍是從1開始到無限大(無限大的程度是由你機器決定的),nocycle 是決定不循環,如果你設置了最大值那么你可以用cycle 會使seq到最大之后循環.對于nocache順便說一下如果你給出了cache值那么系統將自動讀取你的cache值大小個seq

          create or replace trigger "觸發器名稱" before
          insert on example for each row when (new.id is null)
          begin
          select emp_sequence.nextval into: new.id from dual;
          end;



          posted on 2010-09-19 21:46 w@ns0ng 閱讀(632) 評論(0)  編輯  收藏 所屬分類: Databaseibatis

          主站蜘蛛池模板: 金乡县| 将乐县| 扬州市| 资源县| 中方县| 萍乡市| 琼结县| 新乐市| 嘉禾县| 习水县| 南投市| 平顺县| 云和县| 宜阳县| 新野县| 崇左市| 巴中市| 永川市| 望城县| 中牟县| 鹰潭市| 河北省| 武宣县| 利津县| 遵化市| 榆林市| 铅山县| 高邑县| 天门市| 肇源县| 安塞县| 霞浦县| 嵩明县| 丽水市| 彝良县| 南皮县| 武陟县| 祁门县| 米易县| 龙陵县| 云林县|