﻿<?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>XML Oluşturan Fonksiyon &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/xml-olusturan-fonksiyon/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Sun, 12 Mar 2023 11:45:12 +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 XML Oluşturan Fonksiyon Yazmak ve Bu Fonksiyonu Kullanarak Tabloya Veri Eklemek</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-xml-olusturan-fonksiyon-yazmak-ve-bu-fonksiyonu-kullanarak-tabloya-veri-eklemek</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Sun, 12 Mar 2023 11:45:12 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server XML]]></category>
		<category><![CDATA[SQL XML Oluşturan Fonksiyon]]></category>
		<category><![CDATA[XML Oluşturan Fonksiyon]]></category>
		<guid isPermaLink="false">https://sqlserveregitimleri.com/?p=15519</guid>

					<description><![CDATA[Herkese merhaba, Bu yazıda SQL Server’da XML oluşturan fonksiyon yazmak ve bu fonksiyonu kullanarak tabloya veri eklemek ile ilgili bilgi vermeye çalışacağım. SQL Server&#8217;da bazı...]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba,</p>
<p>Bu yazıda SQL Server’da XML oluşturan fonksiyon yazmak ve bu fonksiyonu kullanarak tabloya veri eklemek ile ilgili bilgi vermeye çalışacağım.</p>
<p>SQL Server&#8217;da bazı durumlarda elinizde XML verisi olabilir ve bu XML verisini parse eden bir fonksiyon yazarak tabloya veri ekleme işlemi yapmak isteyebilirsiniz.</p>
<p>İlk önce elimizdeki XML dosyasının aşağıdaki gibi olduğunu düşünelim.</p>
<p>Bu örnekte, &#8220;People&#8221; adlı bir üst düzey öğe ve &#8220;Person&#8221; adlı alt öğeleri olan bir XML verisi var. XML verisindeki her bir &#8220;Person&#8221; öğesi bir tablo satırını temsil eder.</p>
<pre class="line-numbers"><code class="language-markup">&lt;People&gt;
	&lt;Person&gt;
		&lt;Name&gt;John Smith&lt;/Name&gt;
		&lt;Age&gt;35&lt;/Age&gt;
		&lt;City&gt;New York&lt;/City&gt;
	&lt;/Person&gt;
	&lt;Person&gt;
		&lt;Name&gt;Jane Doe&lt;/Name&gt;
		&lt;Age&gt;28&lt;/Age&gt;
		&lt;City&gt;Los Angeles&lt;/City&gt;
	&lt;/Person&gt;
&lt;/People&gt;</code></pre>
<p>Yukarıdaki XML dosyasını parse eden SQL Server fonksiyonu aşağıdadır. Bu fonksiyonu kendinize göre revize edebilirsiniz. Benim yazmış olduğum basit bir XML dosyası.</p>
<p>Fonksiyon, XML verisini parametre olarak alır ve XML verisindeki her bir &#8220;Person&#8221; öğesini bir tablo satırı olarak döndürür. Her satırda, &#8220;Name&#8221;, &#8220;Age&#8221; ve &#8220;City&#8221; adlı öğelerin değerleri alınır.</p>
<pre class="line-numbers"><code class="language-sql">CREATE FUNCTION dbo.ReadXML (@xmlData XML)
RETURNS TABLE
AS
	RETURN
	(
	SELECT
		x.n.value('Name[1]', 'VARCHAR(50)') AS Name
	   ,x.n.value('Age[1]', 'INT') AS Age
	   ,x.n.value('City[1]', 'VARCHAR(50)') AS City
	FROM @xmlData.nodes('/People/Person') x (n)
	)</code></pre>
<p>Bu fonksiyonu kullanarak tabloya veri eklemek için aşağıdaki gibi kodlar yazmalısınız.</p>
<pre class="line-numbers"><code class="language-sql">CREATE TABLE People (
	ID INT IDENTITY (1, 1) PRIMARY KEY
   ,Name VARCHAR(50)
   ,Age INT
   ,City VARCHAR(50)
)

INSERT INTO People (Name, Age, City)
	SELECT
		Name
	   ,Age
	   ,City
	FROM dbo.ReadXML('&lt;People&gt;
    &lt;Person&gt;
        &lt;Name&gt;John Smith&lt;/Name&gt;
        &lt;Age&gt;35&lt;/Age&gt;
        &lt;City&gt;New York&lt;/City&gt;
    &lt;/Person&gt;
    &lt;Person&gt;
        &lt;Name&gt;Jane Doe&lt;/Name&gt;
        &lt;Age&gt;28&lt;/Age&gt;
        &lt;City&gt;Los Angeles&lt;/City&gt;
    &lt;/Person&gt;
&lt;/People&gt;')</code></pre>
<p>Yukarıdaki fonksiyonu ve tabloyu oluşturup Insert kodlarını çalıştırınca aşağıdakine benzer bir sonuç göreceksiniz.</p>
<p><img fetchpriority="high" decoding="async" class="alignnone wp-image-15520 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2023/03/sql-serverda-xml-olusturan-fonksiyon-yazmak-ve-bu-fonksiyonu-kullanarak-tabloya-veri-eklemek-1.jpg" alt="" width="700" height="421" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2023/03/sql-serverda-xml-olusturan-fonksiyon-yazmak-ve-bu-fonksiyonu-kullanarak-tabloya-veri-eklemek-1.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2023/03/sql-serverda-xml-olusturan-fonksiyon-yazmak-ve-bu-fonksiyonu-kullanarak-tabloya-veri-eklemek-1-315x189.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2023/03/sql-serverda-xml-olusturan-fonksiyon-yazmak-ve-bu-fonksiyonu-kullanarak-tabloya-veri-eklemek-1-499x300.jpg 499w, https://sqlserveregitimleri.com/wp-content/uploads/2023/03/sql-serverda-xml-olusturan-fonksiyon-yazmak-ve-bu-fonksiyonu-kullanarak-tabloya-veri-eklemek-1-224x135.jpg 224w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere XML oluşturan fonksiyon yazıp ve bu fonksiyonu kullanarak tabloya veri eklemiş 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"> 241</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
