2012-09-24 25 views

Respuesta

68

uso variable de tabla para conseguir Identificación

DECLARE @id int 
DECLARE @table table (id int) 
INSERT INTO MyTable(name) 
OUTPUT inserted.id into @table 
VALUES('XYZ') 

SELECT @id = id from @table 
+3

Gracias señor, ¿No es posible asignar directamente a int variable? –

+3

No, no puede usar la variable local. Si usa el código anterior, puede acceder a los datos y establecer el valor de la tabla en una variable –

+17

@RakeshHolkar - La sintaxis INSERT le permite insertar múltiples registros, por lo que la sintaxis OUTPUT también debe poder tratar con múltiples registros. Como tal, incluso si solo inserta un registro, OUTPUT le devuelve un conjunto de datos. Aunque ese conjunto es una sola fila con un solo campo, es un conjunto y no un número entero. – MatBailie

Cuestiones relacionadas