在表中插入数据之前,是否可以获取Id(IDENTITY)的新值?
可以这样写:
INSERT INTO Table1 SELECT *GET_NEW_IDENTITY*, Field1, Field2 FROM Table2
我需要Id的值,因为我想在Table1中插入数据,然后 在另一个表中插入具有链接到Table1 (带有Id) 的外键的数据
IDENT_CURRENT。返回为指定的表或视图生成的最后一个标识值。生成的最后一个身份值可以用于任何会话和任何范围。
IDENT_CURRENT
SCOPE_IDENTITY。返回插入到同一作用域的标识列中的最后一个标识值。范围是一个模块:存储过程,触发器,函数或批处理。
SCOPE_IDENTITY
OUTPUT。从受INSERT,UPDATE,DELETE或MERGE语句影响的每一行返回信息或基于表达式的信息。[…]在执行INSERT或UPDATE操作之后,OUTPUT子句可用于检索标识或计算列的值。
OUTPUT