2012-01-08 2 views
-3

Je reçois une erreur pourquoi?Structure de syntaxe de procédure stockée

ALTER PROCEDURE dbo.verifGuids 

@value char(36), 
@message char(1)Output 
AS 

Begin 

select value FROM guids WHERE @value=value; 

    If @value=value 
    BEGIN 
    DELETE value FROM guids WHERE @value=value ; 
    SET @message = 0 
    END 

    Else 
    BEGIN 
    Set @message = 1 
    END 

    Return @message 

    END 

Merci

+2

Quelle erreur réelle que vous obtenez? –

+0

valeur de colonne non valable dans VS ... – FrankSharp

+1

cette ligne est inutile et n'attribue rien: sélectionnez la valeur FROM guids WHERE @ value = value –

Répondre

1

-vous s'il vous plaît essayer comme ci-dessous ainsi:

ALTER PROCEDURE dbo.verifGuids 
@value char(36), 
@message char(1)Output 
AS 
Begin 

DECLARE @SelectValue char(36) 

select @SelectValue = value FROM guids WHERE @value=value; 

If @[email protected] 
BEGIN 
    DELETE value FROM guids WHERE @value=value ; 
    SET @message = 0 
END 
Else 
BEGIN 
    Set @message = 1 
END 

Return @message 
END 
0

Vous n'êtes pas affecter la valeur de base de données que vous interrogez dans une variable de comparaison. Aussi, vous spécifiez la colonne lors de la suppression. Essayez quelque chose comme ceci:

DELETE FROM guids WHERE [email protected]; 
IF @@ROWCOUNT > 0 
BEGIN 
    SET @message = 0 
END 
ELSE 
BEGIN 
    SET @message = 1 
END 
Questions connexes