﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Trigger Çalıştırmak &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/trigger-calistirmak/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Tue, 14 Jun 2022 17:37:20 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>SQL Server&#8217;da Veri Kontrolü ile Trigger Çalıştırmak</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-veri-kontrolu-ile-trigger-calistirmak</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Tue, 21 Dec 2021 17:32:34 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Trigger]]></category>
		<category><![CDATA[Trigger Çalıştırmak]]></category>
		<category><![CDATA[Veri Kontrolü ile Trigger Çalıştırmak]]></category>
		<guid isPermaLink="false">https://sqlserveregitimleri.com/?p=12033</guid>

					<description><![CDATA[Herkese merhaba, Bu yazıda SQL Server&#8217;da veri kontrolü ile Trigger çalıştırmak hakkında bilgi vereceğim. Sorunun çıkış noktası bir arkadaşın mail üzerinden aşağıdaki soruyu bana sormasıdır....]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba,</p>
<p>Bu yazıda SQL Server&#8217;da veri kontrolü ile Trigger çalıştırmak hakkında bilgi vereceğim.</p>
<p>Sorunun çıkış noktası bir arkadaşın mail üzerinden aşağıdaki soruyu bana sormasıdır.</p>
<p><strong>Soru :</strong> A tablosuna insert yapıldığında B tablosuna da aynı veriyi Trigger kullanarak insert işlemini gerçekleştiriyorum. Peki B tablosuna veriyi insert işlemi gerçekleşmeden önce A tablosundan gönderilen bilginin B tablosunda olup olmadığını nasıl kontrol edebilirim? B tablosunda şarta uygun veri varsa insert yapmasın, yoksa insert yapsın şeklinde bir sorgu nasıl yazabilirim.</p>
<p>Konu hakkında basit bir örnek yazdım. Daha kapsamlısı da yazılır ya da siz de yazabilirsiniz.</p>
<p>Aşağıdaki örnek kodları inceleyerek siz de bu işlemi rahatlıkla yapabilirsiniz.</p>
<pre class="line-numbers"><code class="language-sql">--SehirTablosu oluşturulur.

CREATE TABLE SehirTablosu
(
    Id INT PRIMARY KEY IDENTITY(1, 1),
    Sehir NVARCHAR(50)
);
GO

--SehirTablosu kopyası oluşturulur.

CREATE TABLE SehirTablosuCopy
(
    Id2 INT PRIMARY KEY IDENTITY(1, 1),
    Sehir2 NVARCHAR(50)
);
GO

--Kopyalama Trigger oluşturulması

CREATE TRIGGER tr_Sehir_Aktarma
ON SehirTablosu
FOR INSERT
AS
BEGIN

    DECLARE @Sayac INT = 0;
    DECLARE @SehirAd NVARCHAR(50);
    SELECT @SehirAd = inserted.Sehir
    FROM inserted;

    SELECT @Sayac = COUNT(Sehir2)
    FROM SehirTablosuCopy
    WHERE Sehir2 = @SehirAd;

    IF @Sayac = 0
    BEGIN
        INSERT INTO dbo.SehirTablosuCopy
        (
            Sehir2
        )
        VALUES
        (@SehirAd);
    END;
END;</code></pre>
<p>Tabloları ve Kopyalama Trigger&#8217;ını oluşturdum.</p>
<p>Şimdi tablomuza veri ekleyelim ve tabloyu kontrol edelim. Aşağıdaki sorguyu çalıştırın.</p>
<pre class="line-numbers"><code class="language-sql">--Tabloya veri eklenmesi

INSERT INTO dbo.SehirTablosu
(
    Sehir
)
VALUES
('İstanbul' -- Sehir - nvarchar(50)
    );

--Tablonun kontrol edilmesi	

SELECT *
FROM dbo.SehirTablosuCopy;</code></pre>
<p><img fetchpriority="high" decoding="async" class="alignnone wp-image-12035 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-1.jpg" alt="SQL Server'da Veri Kontrolü ile Trigger Çalıştırmak" width="700" height="478" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-1.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-1-315x215.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-1-439x300.jpg 439w, https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-1-198x135.jpg 198w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Trigger çalıştı ve <strong>SehirTablosuCopy</strong> içerisine kayıt eklenmiş oldu.</p>
<p><img decoding="async" class="alignnone wp-image-12036 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-2.jpg" alt="SQL Server'da Veri Kontrolü ile Trigger Çalıştırmak" width="700" height="475" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-2.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-2-315x214.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-2-442x300.jpg 442w, https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-2-199x135.jpg 199w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Şimdi aynı veriyi tekrar tabloya ekleyelim.</p>
<pre class="line-numbers"><code class="language-sql">INSERT INTO dbo.SehirTablosu
(
    Sehir
)
VALUES
('İstanbul' -- Sehir - nvarchar(50)
    );</code></pre>
<p><img decoding="async" class="alignnone wp-image-12037 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-3.jpg" alt="SQL Server'da Veri Kontrolü ile Trigger Çalıştırmak" width="700" height="483" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-3.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-3-315x217.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-3-435x300.jpg 435w, https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-3-196x135.jpg 196w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere Trigger çalışmadı. Çalışsaydı yine iki adet affected yazısını görecektiniz. <strong>SehirTablosuCopy</strong> tablosunu tekrar kontrol edelim.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-12038 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-4.jpg" alt="SQL Server'da Veri Kontrolü ile Trigger Çalıştırmak" width="700" height="506" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-4.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-4-315x228.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-4-415x300.jpg 415w, https://sqlserveregitimleri.com/wp-content/uploads/2021/12/sql-serverda-veri-kontrolu-ile-trigger-calistirmak-4-187x135.jpg 187w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere veri kontrolü yaparak Trigger çalıştırmış olduk.</p>
<p>Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.</p>
<div class='epvc-post-count'><span class='epvc-eye'></span>  <span class="epvc-count"> 371</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
