Ниже приведен код моей хранимой процедуры, но мне не совсем понятен ход выполнения.Как будет работать @@ RAISERROR () в моем случае и как это изменит нормальный поток?Также, что означают числа 10 и 1 в этой функции.Есть также несколько других чисел, которые можно использовать вместо 10 и 1, так как все числа влияют на ход выполнения.Пожалуйста, дайте мне знать, если моя структура кодирования стиля плохая / неправильная или есть какие-то возможности для улучшения.Ниже мой код.
CREATE PROCEDURE spAddressMaster
@Mode varchar(20),
@Street varchar(MAX),
@City varchar(300),
@State varchar(300),
@Country varchar(300),
@PostalCode int,
@Remarks varchar(MAX),
@Type varchar(300)
AS
BEGIN
BEGIN TRANSACTION
BEGIN TRY
--INSERT MODE--
IF(@Mode='INSERT')
BEGIN
INSERT INTO [AddressMST] (
[Street],
[City],
[State],
[Country],
[PostalCode],
[Remarks],
[Type]
)
VALUES (
@Street,
@City,
@State,
@Country,
@PostalCode,
@Remarks,
@Type
)
IF(@@ERROR<>0)
RAISERROR('Insert Operation Fail',10,1)
END
END TRY
BEGIN CATCH
IF(@@ERROR<>0)
BEGIN
ROLLBACK TRANSACTION
SELECT ERROR_MESSAGE()
END
END CATCH
END
GO