SQL TRANSACTION Kullanimi

SQL TRANSACTION Kullanimi

--YA HEP YA HİÇ MANTIĞIYLA ÇALIŞIR.
--TRY-CATCH İLE ETEGRE ÇALIŞAN BİR YAPIDIR


BEGIN TRY
BEGIN TRAN <transactionAdi>
<islemler>
COMMIT TRAN <transactionAdi>
END TRY
BEGIN CATCH
ROLLBACK TRAN <transactionAdi>
END CATCH




BEGIN TRY
BEGIN TRAN trn
UPDATE Musteriler SET Bakiye -= 2000
WHERE MusteriID = 2
------
RAISERROR('Elektrik Kesildi',16,1)
------
UPDATE Musteriler SET Bakiye += 2000
WHERE MusteriID = 1
COMMIT TRAN trn
END TRY
BEGIN CATCH
ROLLBACK TRAN trn
SELECT
ERROR_MESSAGE() as 'Hata Mesajı',
ERROR_LINE() AS 'Hata Satırı',
ERROR_NUMBER() as 'Hata Numarası'
END CATCH

ÜRÜNLER TABLOSUNA KATEGORİSİ 'YEMEKLER' OLAN BİR ÜRÜN EKLENECEK VE ARDINDAN O ÜRÜN İÇİN 10248 ORDERID'Lİ DETAYI OLUŞTURULACAK. EĞER ÜRÜNÜN KATEGORİSİ VERİTABANINDA MEVCUT İSE İŞLEM GERÇEKLEŞTİRİLİCEK MEVCUT DEĞİL İSE BU İKİ İŞLEM GERÇEKLEŞTİRİLMEYECEK.

BEGIN TRY
BEGIN TRAN trn
DECLARE @catID int
SELECT @catID=CategoryID FROM Categories WHERE CategoryName = 'Yemekler'
-----
INSERT INTO Products (ProductName,UnitPrice,UnitsInStock,CategoryID)
VALUES ('Karnıyarık',9,25,@catID)
-----
INSERT INTO [Order Details] (OrderID,ProductID,Quantity,UnitPrice,Discount)
VALUES(10248,SCOPE_IDENTITY(),10,9,0)
----
RAISERROR('HATA OLUŞTU',16,1)
----
COMMIT TRAN trn
END TRY
BEGIN CATCH
ROLLBACK TRAN trn
SELECT
ERROR_MESSAGE() as 'HataMesajı',
ERROR_LINE() AS 'Hata Satırı',
ERROR_NUMBER() AS 'Hata Kodu'
END CATCH

SQL TRANSACTION Kullanımı

Yorumlar

Bu blogdaki popüler yayınlar

En İyi 20 Hacker Duvar Kağıtları