
Donde esta el error?
Publicado por hector espoz (7 intervenciones) el 09/10/2008 22:49:08
Hola a todos , resulta que estoy trabajando con TSQL y necesito crear un procedimiento almacenado que mediante un while vaya aumentando un contador (@CONTADOR) desde 0 hasta 4. y que para cada valor del contador se le asigne otro valor a la variable @REGISTRO , y que imprima este resultado.
GO
CREATE PROCEDURE ITERAR_REGISTRO
AS
DECLARE @CONTADOR INT,
@REGISTRO INT
SET @CONTADOR = 0
SET @REGISTRO = 0
WHILE (@CONTADOR < 4)
BEGIN
SET @REGISTRO = @CONTADOR
CASE
WHEN @REGISTRO=0 THEN 10
WHEN @REGISTRO=1 THEN 50
WHEN @REGISTRO=2 THEN 80
WHEN @REGISTRO=3 THEN 90
ELSE 99
END
PRINT @REGISTRO
SET @CONTADOR=@CONTADOR+1
END
Cuando lo trato de ejecutar me salen los siguientes mensajes de error.
Msg 156, Level 15, State 1, Procedure ITERAR_REGISTRO, Line 12
Sintaxis incorrecta cerca de la palabra clave 'CASE'.
Msg 102, Level 15, State 1, Procedure ITERAR_REGISTRO, Line 22
Sintaxis incorrecta cerca de 'END'.
he buscado la sintaxis en internet y no he dado con el error.
Muchas gracias a todos.
GO
CREATE PROCEDURE ITERAR_REGISTRO
AS
DECLARE @CONTADOR INT,
@REGISTRO INT
SET @CONTADOR = 0
SET @REGISTRO = 0
WHILE (@CONTADOR < 4)
BEGIN
SET @REGISTRO = @CONTADOR
CASE
WHEN @REGISTRO=0 THEN 10
WHEN @REGISTRO=1 THEN 50
WHEN @REGISTRO=2 THEN 80
WHEN @REGISTRO=3 THEN 90
ELSE 99
END
PRINT @REGISTRO
SET @CONTADOR=@CONTADOR+1
END
Cuando lo trato de ejecutar me salen los siguientes mensajes de error.
Msg 156, Level 15, State 1, Procedure ITERAR_REGISTRO, Line 12
Sintaxis incorrecta cerca de la palabra clave 'CASE'.
Msg 102, Level 15, State 1, Procedure ITERAR_REGISTRO, Line 22
Sintaxis incorrecta cerca de 'END'.
he buscado la sintaxis en internet y no he dado con el error.
Muchas gracias a todos.
Valora esta pregunta


0