加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

3. Oracle中添加自动编号的序列

(2012-10-17 11:46:22)
标签:

it

分类: 数据库
1. 创建表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>






0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有