Tutorial SQL

Przykłady, tutorial, gotowe rozwiązania sql.

Kategoria: MS SQL


transakcje oraz użycie TRY CATCH


Transakcje i obsługę błędów w ms sql możemy sprytnie połączyć w kod który będzie wycofywał operacje modyfikacji danych w przypadku gdy gdzieś w trakcie wykonywaniu kodu nastąpi błąd.




create table ##dane (id int, produkt nvarchar(30))



BEGIN TRANSACTION;-- początek transakcji



BEGIN TRY

    -- Insert modyfikacja danych

    INSERT INTO ##dane (id,produkt) SELECT 1,'masło'

    -- błąd

    SELECT 2/0



END TRY

BEGIN CATCH

    SELECT 

        ERROR_NUMBER() AS ErrorNumber

        ,ERROR_SEVERITY() AS ErrorSeverity

        ,ERROR_STATE() AS ErrorState

        ,ERROR_PROCEDURE() AS ErrorProcedure

        ,ERROR_LINE() AS ErrorLine

        ,ERROR_MESSAGE() AS ErrorMessage;



    IF @@TRANCOUNT > 0

        ROLLBACK TRANSACTION;-- wycofywanie zmian

END CATCH;



IF @@TRANCOUNT > 0

    COMMIT TRANSACTION;-- akceptacja zmian





SELECT * FROM ##dane





Wykonanie tego kodu w następstwie błędu nie spowoduje dodanie nowego rekordu do tabeli.
powrót















SQL-KURSY.pl poleca:

Książki
ksikaksikaksikaksikaksika

Copyright 2010-2011mariuszhk@op.pl

obob ob

Valid HTML 4.01 Transitional

Strona internetowa wykorzystuje pliki cookie zapisywane w pamięci przeglądarki internetowej.

OK