if exists (select * from sys.procedures where object_id = OBJECT_ID(N'[Report].[prAreaOutAndInSel_New20210825]'))
drop proc [Report].[prAreaOutAndInSel_New20210825]
go
CREATE PROCEDURE [Report].[prAreaOutAndInSel_New20210825]
ALTER PROCEDURE [HL].[DelAlarmRoad]
@Code VARCHAR(2000),
@O_RETURN INT = -1 OUTPUT
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRAN OK
UPDATE HL.AlarmRoad SET Isvalid=0 WHERE CHARINDEX(',' + Code + ',',',' + @Code + ',')>0
DELETE FROM HL.RoadJobType WHERE CHARINDEX(',' + RoadCode + ',',',' + @Code + ',')>0
IF(@@ERROR<>0)
BEGIN
ROLLBACK TRAN OK
SET @O_RETURN = -1;
END
ELSE
BEGIN
COMMIT TRAN OK
SET @O_RETURN = 0;
END
END
调用
DECLARE @return_value int,
@O_RETURN int
SELECT @O_RETURN = -1
EXEC @return_value = [HL].[DelAlarmRoad]
@Code = '8501421C-80F8-4E2F-B420-A3A5A0707C62,8501421C-80F8-4E2F-B420-A3A5A0707C61',
@O_RETURN = @O_RETURN OUTPUT
SELECT @O_RETURN as N'@O_RETURN'
SELECT 'Return Value' = @return_value
GO