以下は、iamがDriverID = 0とDrivarCode = DD1とDriverName = Ramを渡すストアドプロシージャです。 コントロールが実行されている間にfails.Controlが IF((@DriverName!= NULL))および((@DriverCode!= NULL))になり、その後は失敗します。 .Whatが、私はこのコードを解析する方法にもわからないんだけど、このSQL Server 2005でIF THENとGOTOを使用する
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'