Oracle中添加自動編號的序列


 創建表zuocheng

create table zuocheng(id int  ,address char(25), pay int);
 
 
2. 創建自增序列
create sequence zc      //創建名為zc的序列
  increment   by   1    //自增長度為1
  start   with   1     //從1開始計數
  minvalue 1     //最小值為1
  nomaxvalue    //沒有最大值
  nocache;      //不設置緩存
 
 
3. 為表zuocheng創建觸發器
create or replace trigger  zuocheng_id  //將觸發器綁定在 id 這一列
before insert
on  zuocheng
for each row
when( new.id is null)
begin
select  zc.nextval into: new.id from dual;
end;
 
 
4. 插入數據
insert into zuocheng (address,pay) values('anh3u1i',345);
或者
insert into zuocheng values( zc.nextval,'anh3u1i',345);
 
 
==============================================
 
另外一種高級方法:
 
create table BHL_CLIENTLOG(  
   C_ID                   NUMBER(9) not null, 
   CLANNO                VARCHAR2(50),  
   CLANNAME               VARCHAR2(50),  
   DBNO               VARCHAR2(50),
   DBNAME              VARCHAR2(50),
   FILENO              VARCHAR2(50),  
    DATETIME              VARCHAR2(50),  
   STATUS                NUMBER(1),
   constraint BHL_CLIENTLOG primary key (C_ID)
);
 
create sequence SEQ_BHL_CLIENTLOG
increment by 1
start with 1
 minvalue 1
 cache 20
 maxvalue 999999999;
 
 
在項目數據庫表ClientLog.htm.xml中設置
 
<hibernate-mapping>
<class name="com.bhl.datasync.bo.ClientLog" table="BHL_CLIENTLOG"> 
<id name="cId" type="java.lang.Integer" column="C_ID" length="9"> 
<generator class="native">
<param name="sequence">SEQ_BHL_CLIENTLOG</param>
</generator>
</id>
<property name="clanNo" type="java.lang.String" column="CLANNO" length="50" />
<property name="clanName" type="java.lang.String" column="CLANNAME" length="50" /> 
<property name="dbNo" type="java.lang.String" column="DBNO" length="50"/>
<property name="dbName" type="java.lang.String" column="DBNAME" length="50" />
<property name="fileNo" type="java.lang.String" column="FILENO" length="50" />
<property name="dateTime" type="java.lang.String" column="DATETIME" length="50" />
<property name="status" type="java.lang.Integer" column="STATUS" length="1" />
</class>
</hibernate-mapping>
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM