SQL Server和oracle增加自动增长列

原文地址:http://blog.sina.com.cn/s/blog_6a24a6de010166aj.html

1. SQL Server

1.1. 创建表时指定自动增长列

标识列可用 IDENTITY 属性建立,因此在SQL Server中,又称标识列为具有IDENTITY属性的列或IDENTITY列。
下面的例子创建一个包含名为ID,类型为int,种子为1,递增量为1的标识列
CREATE TABLE T_test
(ID int IDENTITY(1,1),
 Name varchar(50)
)

1.2. 向已有的表增加自动增长列

ALTER TABLE T_test
ADD ID int IDENTITY(1,1)

2. Oracle设置自动增长列:

SQL SERVER数据库,他本身就提供了自动增长的功能,但在Oracle就没有了,只需替换红色部分

2.1. 创建序列

CREATE SEQUENCE my_id          ----my_seq为名创建序列
START WITH                  ----1开始递增,可以是其他数字
INCREMENT BY 1                   ----步进为1
MAXVALUE 99999999999 [NOMAXVALUE]  ----递增的最大值,NOMAXVALUE没有最大值
NOCYCLE                   ----CYCLE在有最大值时,达到最大值99999999999后循环从1开始再次递增,NOCYCLE不循环
CACHE 20                 ----缓存,默认为20NOCACHE无缓存
NOORDER;                   ----还没明白这个是干什么的,不过暂时可有可无的

2.2. 创建触发器

CREATE TRIGGER my_trigger                    ------my_trigger为触发器的名

BEFORE INSERT ON table_name                       ------table_name为自动增长列所在表名

FOR EACH ROW                                                 
BEGIN                                                                             

 SELECT my_id.NEXTVAL INTO :NEW.id FROM DUAL;  
END;



2.3.自加部分 插入数据库数据,自增长列为ID,插入值为'',即不填写

INSERT INTO table_name (ID, NAME, VAL1, VAL2) VALUES ('', 'Ryan', '12', '34')

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值