Intento recuperar el valor de la clave después de una sentencia INSERT. Ejemplo: Tengo una tabla con los atributos name y id. id es un valor generado.
INSERT INTO table (name) VALUES('bob');
Ahora quiero recuperar el id en el mismo paso. ¿Cómo se hace esto?
Estamos utilizando Microsoft SQL Server 2008.
Puedes utilizar scope_identity()
para seleccionar el ID de la fila que acabas de insertar en una variable y luego simplemente seleccionar las columnas que quieras de esa tabla donde el id = la identidad que obtuviste de scope_identity()
.
Vea aquí la información de MSDN http://msdn.microsoft.com/en-us/library/ms190315.aspx
Después de hacer una inserción en una tabla con una columna de identidad, puede hacer referencia a @@IDENTITY para obtener el valor: http://msdn.microsoft.com/en-us/library/aa933167%28v=sql.80%29.aspx