SQL Server’da UPDATE Fonksiyonu

SQL Server'da UPDATE Fonksiyonu
SQL Server'da UPDATE Fonksiyonu

Herkese merhaba. Bu yazıda size SQL Server’da UPDATE fonksiyonunun kullanımından bahsedeceğim.

SQL Server’da UPDATE fonksiyonu belirtilen bir sütunun INSERT veya UPDATE yapılıp yapılmadığını gösteren bir Boolean değer döndürür. UPDATE fonksiyonu, trigger’ın belirli eylemleri yürütüp yürütmeyeceğini test etmek için bir Insert veya UPDATE trigger’ın gövdesindeki herhangi bir yerde kullanılır. Örnek kullanımı aşağıda görmektesiniz.

--Database oluşturma

CREATE DATABASE Ornekler
GO

USE Ornekler

--Tablo oluşturma

CREATE TABLE CalisanTablo (
	CalisanId INT
   ,CalisanAd NVARCHAR(100)
)

GO

--Tabloya veri ekleme

INSERT INTO dbo.CalisanTablo (CalisanId, CalisanAd)
	VALUES (1, -- CalisanId - int
	N'Yavuz Selim Kart'  -- CalisanAd - nvarchar(100)
	)

--Tablo içindeki verileri kontrol etme

SELECT
	*
FROM dbo.CalisanTablo

--Trigger var mı yok mu kontrol etme

USE Ornekler;
GO
IF EXISTS (SELECT
			name
		FROM sys.objects
		WHERE name = 'TriggerOrnegi'
		AND type = 'TR')
	DROP TRIGGER TriggerOrnegi;
GO

--Trigger oluşturma (Update)

CREATE TRIGGER TriggerOrnegi
ON CalisanTablo
INSTEAD OF UPDATE
AS
	IF (UPDATE(CalisanId)
		OR UPDATE(CalisanAd))
	BEGIN
		RAISERROR (50009, 16, 10)
	END;
GO

--Update işlemi yapma

UPDATE CalisanTablo
SET CalisanAd = 'Pelin'
WHERE CalisanId = 1;
GO

--Tabloyu listeleme

SELECT
	*
FROM dbo.CalisanTablo

--Trigger oluşturma (Insert)

CREATE TRIGGER TriggerOrnegi2
ON CalisanTablo
INSTEAD OF INSERT
AS
	IF (UPDATE(CalisanId)
		OR UPDATE(CalisanAd))
	BEGIN
		RAISERROR (50010, 16, 10)
	END;
GO

--Veri ekleme işlemi yapma

INSERT INTO dbo.CalisanTablo (CalisanId, CalisanAd)
	VALUES (2, -- CalisanId - int
	N'Pelin'  -- CalisanAd - nvarchar(100)
	)

--Tabloyu listeleme

SELECT
	*
FROM dbo.CalisanTablo

Yukarıdaki sorguda CalisanId ya da CalisanAd tablosu insert ya da update edildiğinde hata veren iki adet trigger bulunmaktadır. Insert ya da Update işlemi yapılınca bize hata verecektir.  Dikkat edilirse hata işlemi verilmesi bir koşula bağlanmıştır. Update fonksiyonu ile CalisanId ve CalisanAd alanları kontrol edilmiştir. Bu koşula girip bize hata döndürmüştür.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

552 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!