Var ett tag sen jag sysslade med SPs så jag behöver lite tips :) Hej!Felhantering lagrad procedur
Jag har en SP där jag har felhantering typ:
insert into...
if @@ROWCOUNT = 1 and @@ERROR = 0
begin
--kör hårt
end
else
begin
ROLLBACK TRANSACTION
RAISERROR bla bla
return
..osv
end
om nu något är generalknas i inserten ovan, typ som att en kolumn inte tillåter null-värden , får ett null värde, så dör SPn och jag får ut "Cannot insert a null value bla bla".
Jag vill kunna fånga upp alla fel och sedan göra ROLLBACK TRANSACTION och SEN skicka tillbaka felmeddelandet...med RAISERROR...eller kanske bara skicka tillbaka felmeddelande som MS-SQL genererar rakt av.
Fast det e klart...om den bara stannar/dör så når den aldrig COMMIT TRANSACTION så bör ju inte vara nån fara på taket?
Aja, som ni ser så är jag lite osäker på vilken best-practice som gäller här.
tack för hjälpen...Sv: Felhantering lagrad procedur
Vad det gäller NULL värden, så kan du alltid ge inparametrarna ett default värde.
Annars får du testa dem manuellt (IS NULL) innan du skriver ner dem.
Returnera ut @ERROR så kan du fånga upp det i anropande koden.
//Håkan