Ume*_*mer 12 sql-server lastinsertid sql-server-2008
我使用选择插入到表中
INSERT california_authors (au_id, au_lname, au_fname)
SELECT au_id, au_lname, au_fname
FROM authors
WHERE State = 'CA'
Run Code Online (Sandbox Code Playgroud)
说我有一个标识栏california_authors.我可以通过上面的特定插入插入所有ID,就像我最后可以得到@@ IDENTITY一样single insertion吗?
我不能使用select命令,california_authors因为可能存在先前插入的带过滤器的记录State = 'CA'
Mik*_*son 27
您可以使用output子句.
如果您的标识列被命名为"IdentityCol",那么将返回您的id作为结果集.
INSERT california_authors (au_id, au_lname, au_fname)
OUTPUT inserted.IdentityCol
SELECT au_id, au_lname, au_fname
FROM authors
WHERE State = 'CA'
Run Code Online (Sandbox Code Playgroud)
您可以使用将id插入表中output ... into.
这是一个将id存储在表变量中的示例.
declare @IDs table (id int)
INSERT california_authors (au_id, au_lname, au_fname)
OUTPUT inserted.IdentityCol INTO @IDs
SELECT au_id, au_lname, au_fname
FROM authors
WHERE State = 'CA'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6212 次 |
| 最近记录: |