À l'aide de SI et de GOTO dans SQL Server 2005

Qui suit est une storedprocedure dans lequel iam en passant DriverID=0 et DrivarCode =DD1 et DriverName =Ram.
Lors de l'exécution du contrôle est d'aller d'échec.Le contrôle est à venir
SI ((@DriverName!=NULL) and ((@DriverCode!=NULL)),Après, aller à l'échec. DriverName et DriverCode contient des valeurs.Mais toujours d'aller d'échec .Ce qui est peut-être la raison de cette

Create Procedure InsertUpdateM
(
    @DriverID int,
    @DriverCode varchar(50),
    @DriverName varchar(50),
    @Msg varchar(50) output
)

AS
BEGIN
IF @DriverID=0
    BEGIN
        SELECT DriverName,DriverCode FROM DriverM WHERE DriverName=@DriverName and DriverCode=@DriverCode
        IF(@@RowCount>0) GOTO Fails
            IF ((@DriverName!=NULL) and ((@DriverCode!=NULL))
                BEGIN
                    INSERT INTO DriverM(DriverCode,DriverName) values(@DriverCode,@DriverName)
                END
    END
ELSE
    BEGIN
        SELECT DriverName,DriverCode FROM DriverM WHERE DriverName=@DriverName and DriverCode=@DriverCode
        IF(@@RowCount>0) GOTO Fails
            IF ((@DriverName!=NULL) and ((@DriverCode!=NULL)
                BEGIN
                    UPDATE DriverM SET DriverCode=@DriverCode,DriverName=@DriverName WHERE DriverID=@DriverID
                END
    END
END

Fails
    SET @Msg='Failed'
InformationsquelleAutor user42348 | 2009-05-13