Voici une procédure stockée dans laquelle iam transmet DriverID = 0 et DrivarCode = DD1 et DriverName = Ram. Alors que l'exécution de contrôle va échouer.Control arrive à IF ((@DriverName! = NULL) et ((@DriverCode! = NULL)), Après que cela va échouer. DriverName et DriverCode contient des valeurs.Mais toujours à peut-être .Quel échoue la raison de cetteUtilisation de IF THEN et GOTO dans SQL Server 2005
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 [email protected] and [email protected]
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 [email protected] and [email protected]
IF(@@RowCount>0) GOTO Fails
IF ((@DriverName!=NULL) and ((@DriverCode!=NULL)
BEGIN
UPDATE DriverM SET [email protected],[email protected] WHERE [email protected]
END
END
END
Fails
SET @Msg='Failed'