<?xml version="1.0" encoding="iso-8859-9" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwizguide.com/rss_namespace/">
 <channel>
  <title>Datakent Forum : SQL Server Trigger INSERT anında veride değişimi</title>
  <link>http://forum.datakent.com/</link>
  <description>XML içerik linki; Datakent Forum : Microsoft SQL Server : SQL Server Trigger INSERT anında veride değişimi</description>
  <pubDate>Fri, 17 Apr 2026 11:41:45 +0000</pubDate>
  <lastBuildDate>Wed, 27 Jan 2016 13:45:21 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.54</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>forum.datakent.com/RSS_post_feed.asp?TID=2848</WebWizForums:feedURL>
  <image>
   <title>Datakent Forum</title>
   <url>http://forum.datakent.com/forum_images/datakent.com_forums.png</url>
   <link>http://forum.datakent.com/</link>
  </image>
  <item>
   <title>SQL Server Trigger INSERT anında veride değişimi :    SQL Server &amp;#039;da INSERT...</title>
   <link>http://forum.datakent.com/forum_posts.asp?TID=2848&amp;PID=5722#5722</link>
   <description>
    <![CDATA[<strong>Yazar:</strong> <a href="http://forum.datakent.com/member_profile.asp?PF=1" rel="nofollow">murat turan</a><br /><strong>Konu:</strong> 2848<br /><strong>Gönderim Zamanı:</strong> 27.Ocak.2016 Saat 13:45<br /><br />SQL Server 'da INSERT veya UPDATE komutları işletildiğinde, gelen verinin kontrol edilip belli şartları sağlamaması durumunda değiştirilmesi için TRIGGER kullanılabilir. Aşağıda örnek olarak bir trigger verilmiştir.<br><br>Bu Trigger öncelikle INSERT ve UPDATE anlarında işletilecektir. Tercihe göre bir tanesi bırakılabilir.<br><br>Kodu açıklama gerekirse, KAYIT ANINDA veya GÜNCELLEME anında kullanıcı arabiriminden gelen "RECORD_GROUP" alanı eğer boş gelir ise bu alan otomatik olarak "Newbie" ibaresi ile değiştirilmekte ve alanın boş geçilmesi engellenmektedir.<br><br><b>-- AFTER</b><br>CREATE TRIGGER &#091;dbo&#093;.&#091;TEST_TABLE_TRIGGER1&#093;<br>&nbsp;&nbsp; ON&nbsp; &#091;dbo&#093;.&#091;TEST_TABLE&#093;<br>&nbsp;&nbsp; AFTER INSERT, UPDATE<br>AS <br>BEGIN<br>&nbsp;&nbsp;&nbsp; SET NOCOUNT ON;<br>&nbsp;&nbsp;&nbsp; DECLARE @RECORD_GROUP varchar(50)<br><br>&nbsp;&nbsp;&nbsp; SELECT @RECORD_GROUP = i.RECORD_GROUP FROM inserted i -- gelen veri / incoming data<br><br>&nbsp;&nbsp;&nbsp; IF @RECORD_GROUP = ''<br>&nbsp;&nbsp;&nbsp; BEGIN<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; UPDATE dbo.TEST_TABLE <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; SET RECORD_GROUP = '(Newbie)' -- yeni değer / new value<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; FROM inserted<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; WHERE dbo.TEST_TABLE.REFID = inserted.REFID<br>&nbsp;&nbsp;&nbsp; END<br>END<br><br><br><br><i><font color="#669900">-- Benzer işlemler INSTEAD OF INSERT ile de yapılabilir fakat bu bağlamda INSERT kullanmak gerekiyor. Bu tür tekil veya az alan kontrolünde YUKARIDAKİ TEKNİĞİN daha ideal olduğunu düşünüyorum fakat </font></i><i><font color="#669900"> INSTEAD OF daha performanslı çalışıyor.</font></i><br><br><br><b>-- BEFORE</b><br>CREATE TRIGGER &#091;dbo&#093;.&#091;TEST_TABLE_TRIGGER2&#093;<br>&nbsp;&nbsp; ON&nbsp; &#091;dbo&#093;.&#091;TEST_TABLE&#093;<br>&nbsp;&nbsp; INSTEAD OF INSERT<br>AS <br>BEGIN<br>&nbsp;&nbsp;&nbsp; SET NOCOUNT ON;<br>&nbsp;&nbsp;&nbsp; DECLARE @RECORD_GROUP varchar(50)<br><br>&nbsp;&nbsp;&nbsp; SELECT @RECORD_GROUP = i.RECORD_GROUP FROM inserted i -- gelen veri / incoming data<br><br>&nbsp;&nbsp;&nbsp; IF @RECORD_GROUP = ''<br>&nbsp;&nbsp;&nbsp; BEGIN<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; INSERT TEST_TABLE<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; SELECT REFID, NAME, SURNAME, '(Newbie)'<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; FROM inserted <br>&nbsp;&nbsp;&nbsp; END&nbsp;&nbsp;&nbsp; <br>END<br><br><br><br><b>-- Örnekte kullanılan tablo yapısı:</b><br>CREATE TABLE &#091;dbo&#093;.&#091;TEST_TABLE&#093;(<br>&nbsp;&nbsp;&nbsp; &#091;REFID&#093; &#091;int&#093; NOT NULL,<br>&nbsp;&nbsp;&nbsp; &#091;NAME&#093; &#091;varchar&#093;(50) NOT NULL,<br>&nbsp;&nbsp;&nbsp; &#091;SURNAME&#093; &#091;varchar&#093;(50) NOT NULL,<br>&nbsp;&nbsp;&nbsp; &#091;RECORD_GROUP&#093; &#091;varchar&#093;(50) NOT NULL,<br>&nbsp;CONSTRAINT &#091;PK_AA&#093; PRIMARY KEY CLUSTERED <br>(<br>&nbsp;&nbsp;&nbsp; &#091;REFID&#093; ASC<br>))<br><br><br><br><font size="1">KeyWords: SHow can I edit values of an INSERT in a trigger on SQL Server?, T-SQL how to modify the value before insert, Modify data before it's inserted in SQL Server</font><br><br><br><br><span style="font-size:10px"><br /><br />Düzenleyen murat turan - 08.Subat.2016 Saat 10:16</span>]]>
   </description>
   <pubDate>Wed, 27 Jan 2016 13:45:21 +0000</pubDate>
   <guid isPermaLink="true">http://forum.datakent.com/forum_posts.asp?TID=2848&amp;PID=5722#5722</guid>
  </item> 
 </channel>
</rss>