Procedimiento almacenado: parametro tipo nvarchar

01/09/2006 - 16:48 por Hugo Gsell | Informe spam
Tengo un procedimiento almacenado que recibe un parametro de entrada tipo
nvarchar y
dependiendo del mismo ejecuta una acción u otra
el problema es que no me reconoce el valor del parametro les transcribo el
procedimiento.
NOTA: Lo hago funcionar estableciendo el tamaño fijo de caracteres de
parametro... es decir, reemplazando la linea @pModo nvarchar POR @pModo
nvarchar(7)
ES DECIR, si utilizo el procedure en la definicion de pModo sin el (7) y
paso el parametro GNPASE .. NO FUNCIONA.¿Porque?

CREATE PROCEDURE RecuperaExpediente
@pModo nvarchar(7),
@pNroExpte int,
@NroRegsEncontrados smallint output
AS
SET NOCOUNT ON
DECLARE @error int
BEGIN
SET NOCOUNT ON;
IF @pModo = 'GENPASE'
BEGIN
PRINT 'ACA ESTOS INTENTANDO'
SELECT dbo.Expedientes.*, dbo.Pases.CodSector AS Expr1
FROM dbo.Expedientes INNER JOIN
dbo.Pases ON dbo.Expedientes.IdExpte =
dbo.Pases.CodExpte
WHERE (dbo.Pases.CodSector = 59)

SELECT @error = @@ERROR, @NroRegsEncontrados = @@ROWCOUNT
END
ELSE
BEGIN
PRINT 'Aca NO INTENTAMOS NAA JEJEJEJEJJ'
SELECT @error = @@ERROR, @NroRegsEncontrados = @@ROWCOUNT
SET @NroRegsEncontrados = 0
END

END
RETURN @error
GO

Hugo A. Gsell
 

Leer las respuestas

#1 Maxi
01/09/2006 - 17:11 | Informe spam
Y cual es el error? o a que llamas vos que no funciona


Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Hugo Gsell" escribió en el mensaje
news:%
Tengo un procedimiento almacenado que recibe un parametro de entrada tipo
nvarchar y
dependiendo del mismo ejecuta una acción u otra
el problema es que no me reconoce el valor del parametro les transcribo el
procedimiento.
NOTA: Lo hago funcionar estableciendo el tamaño fijo de caracteres de
parametro... es decir, reemplazando la linea @pModo nvarchar POR @pModo
nvarchar(7)
ES DECIR, si utilizo el procedure en la definicion de pModo sin el (7) y
paso el parametro GNPASE .. NO FUNCIONA.¿Porque?

CREATE PROCEDURE RecuperaExpediente
@pModo nvarchar(7),
@pNroExpte int,
@NroRegsEncontrados smallint output
AS
SET NOCOUNT ON
DECLARE @error int
BEGIN
SET NOCOUNT ON;
IF @pModo = 'GENPASE'
BEGIN
PRINT 'ACA ESTOS INTENTANDO'
SELECT dbo.Expedientes.*, dbo.Pases.CodSector AS Expr1
FROM dbo.Expedientes INNER JOIN
dbo.Pases ON dbo.Expedientes.IdExpte =
dbo.Pases.CodExpte
WHERE (dbo.Pases.CodSector = 59)

SELECT @error = @@ERROR, @NroRegsEncontrados = @@ROWCOUNT
END
ELSE
BEGIN
PRINT 'Aca NO INTENTAMOS NAA JEJEJEJEJJ'
SELECT @error = @@ERROR, @NroRegsEncontrados = @@ROWCOUNT
SET @NroRegsEncontrados = 0
END

END
RETURN @error
GO

Hugo A. Gsell

Preguntas similares