怎么在sql servler2000中建立一个序列,用sequence写的
2个回答
推荐于2016-07-22
展开全部
sequence 要到 sql servler2012 的版本, 才有。
SQL Server 2000, 2005, 2008 是没有 sequence 这样的对象的。
如果你要实现一个 自动递增列的处理
SQL Server 通过 IDENTITY 来设置
参数有2个,一个是“初始值” 一个是“增量”。
默认情况下 INSERT 语句中,不能对 IDENTITY 的字段进行赋值。
对于 IDENTITY 的列 SQL Server 在 INSERT 的时候,会自动忽略掉。
当IDENTITY列中间的数据被删除,造成数据不连续的时候。可以通过 SET IDENTITY_INSERT 表名 ON/OFF 语句来 允许/禁止 对IDENTITY列进行显式的插入动作。
IDENTITY只能在如下情况下建立:
在创建表时创建新的IDENTITY列
在现有表中创建新的IDENTITY列
不能 把已经存在的列,修改为IDENTITY列
1> CREATE TABLE test_create_tab2 (
2> id INT IDENTITY(1, 1) PRIMARY KEY,
3> val VARCHAR(10)
4> );
5> go
1> INSERT INTO test_create_tab2(val) VALUES ('NO id');
2> go
(1 行受影响)
SQL Server 2000, 2005, 2008 是没有 sequence 这样的对象的。
如果你要实现一个 自动递增列的处理
SQL Server 通过 IDENTITY 来设置
参数有2个,一个是“初始值” 一个是“增量”。
默认情况下 INSERT 语句中,不能对 IDENTITY 的字段进行赋值。
对于 IDENTITY 的列 SQL Server 在 INSERT 的时候,会自动忽略掉。
当IDENTITY列中间的数据被删除,造成数据不连续的时候。可以通过 SET IDENTITY_INSERT 表名 ON/OFF 语句来 允许/禁止 对IDENTITY列进行显式的插入动作。
IDENTITY只能在如下情况下建立:
在创建表时创建新的IDENTITY列
在现有表中创建新的IDENTITY列
不能 把已经存在的列,修改为IDENTITY列
1> CREATE TABLE test_create_tab2 (
2> id INT IDENTITY(1, 1) PRIMARY KEY,
3> val VARCHAR(10)
4> );
5> go
1> INSERT INTO test_create_tab2(val) VALUES ('NO id');
2> go
(1 行受影响)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询