SQL中的IDENTITY()函数



我看到一个SP,其中恒等函数以以下方式调用:

select id = identity(10) ..... into ..... from ......

有谁能告诉我,如果我只能传递1或2个参数,而不是三个参数(SEED, INCREMENT,数据类型)?

另外,如果表中的列已经定义为标识,不意味着它将自动生成一个唯一的序列号?那么,究竟需要这个identity()函数做什么呢?

Sybase 12.0.1文档这里说:

IDENTITY函数[杂项]

为a中的每一行生成整数值,从1开始查询它的实现与NUMBER函数相同。

语法

IDENTITY(expression)参数

•expression表达式。表达式被解析,但被忽略在函数执行期间。

返回INT

的评论

IDENTITY函数的描述与NUMBER函数的描述。

参见

•NUMBER函数[杂项]

标准和兼容性

•SQL/2008供应商扩展。

例子

下面的语句返回按顺序编号的员工。

SELECT IDENTITY(10), Surname FROM Employees;

与MS SQL Server不同,Sybase只处理一个参数。种子和增量总是1。

如果选择的数据中有任何标识列,那么它们的值将被复制。IDENTITY函数允许您在输出表中创建新的标识列。

identity()不是唯一标识符。这意味着它会自动累积。PRIMARY KEY约束将使列唯一,以便识别

行。

最新更新