一、通过T-SQL代码.
代码如下:
alter table 表名 add 列名 int IDENTITY(1,1) NOT NULL
这里用到了identity关键字:indentity(a,b),a b均为正整数,a表示开始数,b表示步长,indentity(1,1)就代表从1开始,每次增加1
二、通过企业管理隐轿好器
打开对象资源管帆桐理器,新建表,如下图
插入列,设置列属性,标识增量为步长,标识种灶铅子为开始数,如下图
1、例如给某表添加一个Num自增列,这张表已经有很多行数据了,通过sqlserver表设计器,添加一个新字段Num,如图所示,
2、添加字段滚迅亩后,点击保存,会d出一个小框“不允许保存更改。所做的昌埋更改要求删除并重新创建一下表”,这个要求不能满足啊,这么多的数据,删除了怎么办?
3、点击SQL Server Management Studio顶部的菜单【工具】->【选项】,
4、打开【选项】d窗界面如图所示,默认展开的是【常规】选项,
5、拖动左侧的菜单,找到并点击【表设计器】->【表设计器和数据库设计器】,
6、在右侧出现的【表选项】中,找到并 取消勾选【阻止保存要求重新创建表的更改】,点击【确定】按钮,
7、再次在表设计界面,点击保存,如果表中的数据量很大的话,会有这个验证警告:“将定义更改保存到包含有大量数据的表中可能需要很长时间”,此项可以忽略大森,
8、直接点击【是】按钮,就可以保存成功了。
先派冲建乱羡笑一个sequence:有按钮可以直接建,也可以sql建DROP SEQUENCE _SEQUENCE
CREATE SEQUENCE _SEQUENCE
START WITH 1000
MAXVALUE 99999999
MINVALUE 1
NOCYCLE
NOCACHE
ORDER
再哗含建一个trigger:
DROP TRIGGER _TRIGGER
CREATE OR REPLACE TRIGGER _TRIGGER
BEFORE INSERT
ON tablenameFOR EACH ROW
DECLARE
nextid NUMBER
BEGIN
IF :new.UserID IS NULL OR :new.UserID = 0
THEN
SELECT _SEQUENCE.NEXTVAL INTO nextid FROM sys.DUAL
:new.UserID := nextid
END IF
END _TRIGGER
/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)