2010-11-23 4 views
1

Ma requête dans la procédure stockée ressemble à ceci.Identité d'insertion multiple get

insert into a(name) select name from b. 

Je veux obtenir toute la nouvelle valeur d'identité de a. Comment puis-je faire cela?

Merci d'avance.

Répondre

0

Jetez un oeil à OUTPUT Clause (Transact-SQL)

Quelque chose comme

DECLARE @a TABLE(
     ID INT IDENTITY (1,1), 
     Name VARCHAR(250) 
) 

DECLARE @b TABLE(
     Name VARCHAR(250) 
) 
INSERT INTO @b SELECT 'a' 
INSERT INTO @b SELECT 'b' 
INSERT INTO @b SELECT 'c' 
INSERT INTO @b SELECT 'd' 

INSERT INTO @a(name) 
OUTPUT INSERTED.ID 
SELECT name FROM @b 
1
insert into a(name) 
OUTPUT INSERTED.IDColumn --this line for >1 row 
select name from b. 

Le OUTPUT Clause

Questions connexes