用identity函数取代标识种子

只用在带有 INTO table 子句的 SELECT 语句中,以将标识列插入到新表中。

尽管类似,但是 IDENTITY 函数不是与 CREATE TABLE 和 ALTER TABLE 一起使用的 IDENTITY 属性。

语法

IDENTITY ( data_type [ , seed , increment ] ) AS column_name

参数

data_type

标识列的数据类型。标识列的有效数据类型可以是任何整数数据类型分类的数据类型(bit 数据类型除外),也可以是 decimal 数据类型。

seed

要指派给表中第一行的值。给每一个后续行指派下一个标识值,该值等于上一个 IDENTITY 值加上 increment 值。如果既没有指定 seed,也没有指定 increment,那么它们都默认为 1。

increment

用来添加到 seed 值以获得表中连续行的增量。

column_name

将插入到新表中的列的名称。

 

 

例:select identity(int,1,1) as plh,* into #aaa from spkfk

也可以利用这个函数来去重

例:在table1中有两列 a , b,如两例 有重复值的话,可以这样做

select identity(int,1,1) as plh,* into #lsb from table1

select a,b from #lsb where plh in(select min(plh) as plh from #lsb group by a,b)

posted @ 2008-09-04 08:48  玉玉  阅读(839)  评论(0编辑  收藏  举报