Array
(
)

Transação e Tratamento de Excepção em story procedure

Anacleto Linux
   - 22 fev 2014

1 - É possivel usarmos Transação e Tratamento de Excepção (try e catch) em story procedure em sql e usar também Tratamento de Excepção em C# ou tenho uma aplicação C# conectada ao banco de dados sql server 2012 posso nos dois quer no C# e sql server 2012 usar Tratamento de Excepção (try e catch) ?
2 - Avalié essa story procedure se há de anormal (algo errado - sua lógica e sintaxe).
-- procedimento para cadastrar livros na base de dados
CREATE PROCEDURE SP_IserirLivro
(
@TituloLivro VARCHAR(100),
@ISBNLivro VARCHAR(30),
@AnoEdicaoLivro DATE
)
AS
BEGIN
BEGIN TRY
BEGIN TRAN
INSERT INTO Tb_Livro
(
TituloLivro,
ISBNLivro,
AnoEdicaoLivro
)
VALUES
(
@TituloLivro,
@ISBNLivro,
@AnoEdicaoLivro
);
COMMIT TRAN
END TRY
BEGIN CATCH

RAISERROR('Insira correctamente os dado', 14, 1)
ROLLBACK TRAN
SELECT ERROR_MESSAGE() AS RETORNO
END CATCH
END

3 - O padrão do RAISERROR é só 14,1 ou depende da quantidade de erro a exibir?

Jefferson Santos
   - 27 fev 2014

14, 1 não é a quantidade do erro.
14, indica Gravidade.
1 - Estado.

Também não é um valor padrão, podem haver outros.