Problemas con sp_executesql y Scope_Identity()

12/01/2004 - 17:24 por Mario Barro | Informe spam
Hola a todos/as;

Estoy realizando una insercción con sql de forma dinámica (sp_executesql) y
al terminar de ejecutarse necesito recuperar el último valor insertado
mediante Scope_Identity() pero devuelve siempre nulo, aunque la insercción
se realiza.

********************************
Ejemplo:

Declare @Campo1 int
Set @Campo1 = 1

Declare @str nvarchar(500)
Set @str = N'Insert into tabla (campo1) Values (@Campo1)

Exec sp_executesql @str, N'@Campo1 int', @Campo1

Select Scope_Identity()
*******************************
Devuelve Null

¿Por qué ocurre esto?

Saludos

Preguntas similare

Leer las respuestas

#6 Miguel Egea
12/01/2004 - 18:44 | Informe spam
@@identity, no creo que te diera problemas excepto si existen triggers.
El resto de preguntas, intento contestarelas desde casa con más calma,
intentaré explicarte como funciona el script de carlos.
En cuanto a crear 50 procedimientos, yo lo prefiero, la ejecución dinamica
solo cuando es inevitable, a sql no le cuesta tener esos procedimientos, el
coste viene por que al programador le resulta más comodo, no por sql. ADemás
crear el script que genere los procedimientos para las tablas es muuuuy
fácil. Incluso daría al procedimiento la posibilidad de devolverlas.
En fin, cuando llegue acas intento responder más claro.
Saludos



"Mario Barro" escribió en el mensaje
news:
Mostrar la cita
50
Mostrar la cita
el
Mostrar la cita
procesos
Mostrar la cita
realizada
Mostrar la cita
y
Mostrar la cita
Ads by Google
Search Busqueda sugerida