Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/09/2012, 13:48
gimenez166
 
Fecha de Ingreso: septiembre-2012
Ubicación: Ituzaingo
Mensajes: 45
Antigüedad: 11 años, 7 meses
Puntos: 0
Store Procedure con If

hola! tengo que crear un store procedure que valide si existe el IDCulture existe en una tabla, al igual que el nombre y si la operacion es U,I,D y si todo esta bien en la variable de salida sale 1 sino 0 pero me saltan errores al momento de intentar crearlo el codigo es el siguiente:

Código:
CREATE PROCEDURE p_ValCulture
    @IDCulture  nchar(6),
    @Name nvarchar(50),
    @Date datetime,
    @Operacion varchar(1),
    @Valida VARCHAR(250) OUTPUT
AS
BEGIN
	
	SET @Valida = 1
	IF(@IDCulture = '' or @Name = '')
		BEGIN
			SET @Valida = 0
		END
	ELSE
		BEGIN
			IF (SELECT COUNT(*) FROM Production.Culture where IdCulture = @IDCulture)= 0 or
					SELECT COUNT(*) FROM Production.Culture where Name = @Name)= 0
				BEGIN
					SET @Valida = 0
				END
			ELSE
				BEGIN
					IF(DATEDIFF ( 'dd' ,@Date ,GETDATE())< 0)
						BEGIN
							SET @Valida = 0
						END
				END
			IF(@Operacion <> 'U' or @Operacion <> 'I' or @Operacion <> 'D' )
				BEGIN
					SET @Valida = 0
				END
		END	
	RETURN 
	END
GO
el codigo de los errores es:

Código:
Mens 156, Nivel 15, Estado 1, Procedimiento p_ValCulture, Línea 18
Sintaxis incorrecta cerca de la palabra clave 'SELECT'.
Mens 102, Nivel 15, Estado 1, Procedimiento p_ValCulture, Línea 18
Sintaxis incorrecta cerca de '='.
Mens 102, Nivel 15, Estado 1, Procedimiento p_ValCulture, Línea 19
Sintaxis incorrecta cerca de ')'.
Mens 156, Nivel 15, Estado 1, Procedimiento p_ValCulture, Línea 23
Sintaxis incorrecta cerca de la palabra clave 'ELSE'.
Mens 1023, Nivel 15, Estado 1, Procedimiento p_ValCulture, Línea 25
Se especificó un parámetro 1 no válido para datediff.

Les agradesco cualquier ayuda, Saludos Mery
__________________
La vida es un asco, disfrutala....