À 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'
Vous devez vous connecter pour publier un commentaire.
Je ne suis même pas sûr de savoir comment ce code traite. Vous avez "Échoue" après la fin de la procédure stockée, et il ne se termine pas par un point-virgule. Vous voulez quelque chose de plus comme ceci:
Vous pouvez utiliser le code suivant pour l'atteindre.