﻿<?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>SQL Tablolarda Kelime Aramak &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/sql-tablolarda-kelime-aramak/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:34:23 +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 Tüm Tablolarda Kelime Aramak</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-tum-tablolarda-kelime-aramak</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Thu, 17 Feb 2022 18:29:39 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Tablolarda Kelime Aramak]]></category>
		<category><![CDATA[SQL Tüm Tablolarda Kelime Aramak]]></category>
		<category><![CDATA[Tüm Tablolarda Kelime Aramak]]></category>
		<guid isPermaLink="false">https://sqlserveregitimleri.com/?p=13019</guid>

					<description><![CDATA[Herkese merhaba, Bu yazıda SQL Server&#8217;da tüm tablolarda kelime aramak ile ilgili bilgi paylaşmaya çalışacağım. SQL Server&#8217;da bazı durumlarda tüm tablolar içerisinde istediğimiz bir kelimeyi...]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba,</p>
<p>Bu yazıda SQL Server&#8217;da tüm tablolarda kelime aramak ile ilgili bilgi paylaşmaya çalışacağım.</p>
<p>SQL Server&#8217;da bazı durumlarda tüm tablolar içerisinde istediğimiz bir kelimeyi bulmak isteyebiliriz.</p>
<p>Aşağıdaki prosedürü kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.</p>
<p><strong>Not</strong> : Kayıt sayısı veya tablo sayısı çok olan tablolarda performans sıkıntısı oluşturabilir. Küçük ve Orta seviye veritabanlarında kullanabilirsiniz.</p>
<pre class="line-numbers"><code class="language-sql">CREATE PROC TumTablolardaKelimeAramak
(@AranacakKelime NVARCHAR(100))
AS
BEGIN

    CREATE TABLE #Sonuc
    (
        KolonAdi NVARCHAR(370),
        KolonDegeri NVARCHAR(3630)
    );

    SET NOCOUNT ON;

    DECLARE @TabloAdi NVARCHAR(256),
            @KolonAdi NVARCHAR(128),
            @Kelime NVARCHAR(110);

    SET @TabloAdi = N'';
    SET @Kelime = QUOTENAME('%' + @AranacakKelime + '%', '''');

    WHILE @TabloAdi IS NOT NULL
    BEGIN
        SET @KolonAdi = N'';
        SET @TabloAdi =
        (
            SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
            FROM INFORMATION_SCHEMA.TABLES
            WHERE TABLE_TYPE = 'BASE TABLE'
                  AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) &gt; @TabloAdi
                  AND OBJECTPROPERTY(OBJECT_ID(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)), 'IsMSShipped') = 0
        );

        WHILE (@TabloAdi IS NOT NULL) AND (@KolonAdi IS NOT NULL)
        BEGIN
            SET @KolonAdi =
            (
                SELECT MIN(QUOTENAME(COLUMN_NAME))
                FROM INFORMATION_SCHEMA.COLUMNS
                WHERE TABLE_SCHEMA = PARSENAME(@TabloAdi, 2)
                      AND TABLE_NAME = PARSENAME(@TabloAdi, 1)
                      AND DATA_TYPE IN ( 'char', 'varchar', 'nchar', 'nvarchar','ntext' )
                      AND QUOTENAME(COLUMN_NAME) &gt; @KolonAdi
            );
            IF @KolonAdi IS NOT NULL
            BEGIN
                INSERT INTO #Sonuc
                EXEC ('SELECT ''' + @TabloAdi + '.' + @KolonAdi + ''', LEFT(CAST(' + @KolonAdi + 'as varchar(max)), 3630) FROM ' + @TabloAdi + ' (NOLOCK) ' + ' WHERE ' + @KolonAdi + ' LIKE ' + @Kelime);
            END;
        END;
    END;

    SELECT KolonAdi,
           KolonDegeri
    FROM #Sonuc;

END;

--Kullanımı

EXEC TumTablolardaKelimeAramak 'Dried fruit and bean curd';</code></pre>
<p>Prosedürü oluşturalım ve test edelim.</p>
<p><img fetchpriority="high" decoding="async" class="alignnone wp-image-13021 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2022/02/sql-serverda-tum-tablolarda-kelime-aramak-1.jpg" alt="SQL Server'da Tüm Tablolarda Kelime Aramak" width="700" height="426" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2022/02/sql-serverda-tum-tablolarda-kelime-aramak-1.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2022/02/sql-serverda-tum-tablolarda-kelime-aramak-1-315x192.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2022/02/sql-serverda-tum-tablolarda-kelime-aramak-1-493x300.jpg 493w, https://sqlserveregitimleri.com/wp-content/uploads/2022/02/sql-serverda-tum-tablolarda-kelime-aramak-1-222x135.jpg 222w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Prosedürü çalıştırdığınızda yukarıdaki gibi bir sonuç göreceksiniz.</p>
<p>Prosedür &#8216;CHAR&#8217;, &#8216;VARCHAR&#8217;, &#8216;NCHAR&#8217;, &#8216;NVARCHAR&#8217;,&#8217;NTEXT&#8217; alanları üzerinde arama yapar.</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"> 605</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
