SQL Server - Donde esta el error?

 
Vista:
Imágen de perfil de hector espoz

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Donde esta el error?

Publicado por Isaias (3308 intervenciones) el 10/10/2008 00:35:09
CREATE PROCEDURE ITERAR_REGISTRO
AS
BEGIN
SET NOCOUNT ON

DECLARE @CONTADOR INT
DECLARE @REGISTRO INT

SET @CONTADOR = 0
SET @REGISTRO = 0

WHILE (@CONTADOR < 4)
BEGIN
SELECT @REGISTRO =
CASE WHEN @CONTADOR=0 THEN 10
WHEN @CONTADOR=1 THEN 50
WHEN @CONTADOR=2 THEN 80
WHEN @CONTADOR=3 THEN 90
ELSE 99 END
PRINT @CONTADOR
SET @CONTADOR = @CONTADOR+1
PRINT @REGISTRO
CONTINUE
END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Hector

RE:Donde esta el error?

Publicado por Hector (7 intervenciones) el 10/10/2008 16:26:56
Muchas gracias isaias. ya si me sirve.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Donde esta el error?

Publicado por Isaias (3308 intervenciones) el 10/10/2008 20:19:57
Que bien, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar