SQL Server 2008怎样添加自增列实现自增序号

SQL Server 2008怎样添加自增列实现自增序号,第1张

一、通过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

/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11984575.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存