SQL中的IDENTITY()函数

时间:2013-05-16 11:58:34

标签: tsql sybase

我看到一个SP,其中以下列方式调用身份函数:

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

如果我只能传递1个或2个参数而不是三个参数(SEED,INCREMENT,datatype),请告诉我吗?

此外,如果表中的列已经定义为标识,则表示它会自动生成唯一的序列号吗?那么这个identity()函数究竟需要什么呢?

2 个答案:

答案 0 :(得分:1)

Sybase 12.0.1文档here说:

  

IDENTITY功能[杂项]

     

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

     

语法

     

IDENTITY(表达式)参数

     

•表达式。表达式已解析,但会被忽略   在执行该功能期间。

     

返回

     

INT

     

说明

     

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

     

另见

     

•NUMBER函数[Miscellaneous]

     

标准和兼容性

     

•SQL / 2008供应商扩展。

     

实施例

     

以下语句返回按顺序编号的列表   员工。

     

SELECT IDENTITY(10),姓氏FROM员工;

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

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

答案 1 :(得分:0)

identity()不是唯一标识符。它只是意味着它会自动计数。 PRIMARY KEY约束会使列唯一,以便标识行