SCOPE_IDENTITY

28/06/2006 - 06:15 por Pablo Rodríguez | Informe spam
Hola, estoy trabajando con SQL 2005 Express y VB.NET, hice el siguiente SP
:

CREATE PROCEDURE spAltaCurso
@Nombre nvarchar(25)
AS

BEGIN
SET NOCOUNT ON;
INSERT INTO tblCurso (Nombre)
VALUES (@Nombre);

SELECT SCOPE_IDENTITY() AS Id
END

mi problema es como invocarlo desde VB.NET... como no lo logré intenté hacer
una función que ejecutara el SP y devolviera el valor, pero me encontré con:

Msg 557, Level 16, State 2, Line 1
Desde una función sólo se pueden ejecutar funciones y procedimientos
almacenados extendidos.

De ahí que no se como invocarlo.

Desde ya agradezco la ayuda que me puedan brindar.
Saludos!!
 

Leer las respuestas

#1 J.A. García Barceló
28/06/2006 - 08:13 | Informe spam
Si no quieres rediseñar tu procedimiento almacenado, tal vez una estructura
INSERT-EXEC sea lo mas sencillo.
En el siguiente documento tienes comentado como hacerlo, así como otras
alternativas.

http://www.hayes.ch/sql/compartir_d...INSERTEXEC

J.A. García Barceló
http://jagbarcelo.blogspot.com/


"Pablo Rodríguez" escribió en el mensaje
news:
Hola, estoy trabajando con SQL 2005 Express y VB.NET, hice el siguiente SP
:

CREATE PROCEDURE spAltaCurso
@Nombre nvarchar(25)
AS

BEGIN
SET NOCOUNT ON;
INSERT INTO tblCurso (Nombre)
VALUES (@Nombre);

SELECT SCOPE_IDENTITY() AS Id
END

mi problema es como invocarlo desde VB.NET... como no lo logré intenté
hacer una función que ejecutara el SP y devolviera el valor, pero me
encontré con:

Msg 557, Level 16, State 2, Line 1
Desde una función sólo se pueden ejecutar funciones y procedimientos
almacenados extendidos.

De ahí que no se como invocarlo.

Desde ya agradezco la ayuda que me puedan brindar.
Saludos!!

Preguntas similares