我看到一个SP,其中以下列方式调用身份函数:
select id = identity(10) ..... into ..... from ......
如果我只能传递1个或2个参数而不是三个参数(SEED,INCREMENT,datatype),请告诉我吗?
此外,如果表中的列已经定义为标识,则表示它会自动生成唯一的序列号吗?那么这个identity()函数究竟需要什么呢?
答案 0 :(得分:1)
Sybase 12.0.1文档here说:
与MS SQL Server不同,Sybase只处理一个参数。种子和增量始终为1。IDENTITY功能[杂项]
为a中的每个连续行生成从1开始的整数值 查询。它的实现与NUMBER函数的实现相同。
语法
IDENTITY(表达式)参数
•表达式。表达式已解析,但会被忽略 在执行该功能期间。
返回
INT
说明
IDENTITY功能的描述与 NUMBER函数的描述。
另见
•NUMBER函数[Miscellaneous]
标准和兼容性
•SQL / 2008供应商扩展。
实施例
以下语句返回按顺序编号的列表 员工。
SELECT IDENTITY(10),姓氏FROM员工;
如果选择的数据中有任何标识列,则会复制它们的值。 IDENTITY
函数允许您在输出表中创建新的标识列。
答案 1 :(得分:0)
identity()不是唯一标识符。它只是意味着它会自动计数。 PRIMARY KEY约束会使列唯一,以便标识行