﻿<?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>DROP TABLE IF EXISTS Nedir &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/drop-table-if-exists-nedir/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Sat, 15 Apr 2023 14:07:18 +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 DROP TABLE IF EXISTS Örnekleri</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-drop-table-if-exists-ornekleri</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Thu, 13 Apr 2023 09:23:32 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[DROP TABLE IF EXISTS]]></category>
		<category><![CDATA[DROP TABLE IF EXISTS Kullanımı]]></category>
		<category><![CDATA[DROP TABLE IF EXISTS Nedir]]></category>
		<guid isPermaLink="false">https://sqlserveregitimleri.com/?p=16135</guid>

					<description><![CDATA[Herkese merhaba. Bu yazıda SQL Server’da DROP TABLE IF EXISTS örnekleri ile ilgili bilgi vereceğim. SQL Server&#8217;da veritabanı üzerinde aynı ada sahip bir tablonun mevcut...]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba. Bu yazıda SQL Server’da DROP TABLE IF EXISTS örnekleri ile ilgili bilgi vereceğim.</p>
<p>SQL Server&#8217;da veritabanı üzerinde aynı ada sahip bir tablonun mevcut olup olmadığını kontrol etmeniz gereken durumlar olabilir, aksi durumda CREATE TABLE yapmaya çalışırsanız işlem başarısızlıkla sonuçlanır. DROP TABLE yapmaya çalışırsanız ve tablo mevcut değilse de, &#8220;Msg 3701 Level 11 State 5, 25 Cannot drop the table because it does not exist or you do not have permission&#8221; hatası alırsınız. Peki bu gibi sorunları nasıl çözeceğiz.</p>
<p>Çözüm oldukça basit. Tabloyu DROP etmeden önce tablonun var olup olmadığını kontrol etmek için T-SQL&#8217;inize koşullu mantık eklemektir. Eğer varsa, tabloyu DROP edebilirsiniz, eğer yoksa DROP TABLE&#8217;ı atlayabilirsiniz.</p>
<p>Bu eğitimde, var olmayan bir tabloyu düşürmeye çalıştığımızda ne gördüğümüzün bir örneğine ve DROP TABLE&#8217;ı koşullu olarak çalıştırmanın aşağıdaki yollarına bakacağız:</p>
<p>OBJECT_ID() fonksiyonu kullanarak (SQL Server&#8217;ın tüm versiyonlarında destekleniyor.)<br />
sys.tables View&#8217;ı kullanarak sorgulama (SQL Server&#8217;ın tüm versiyonlarında destekleniyor.)<br />
INFORMATION_SCHEMA.TABLES View&#8217;ı kullanarak ile sorgulama (SQL Server&#8217;ın tüm versiyonlarında destekleniyor.)<br />
IF EXISTS ile DROP TABLE (SQL Server 2016 ve üzeri versiyonlarda destekleniyor.)</p>
<p>DROP TABLE ifadesini kullanmak için kullanıcının aşağıdakilerden birine sahip olmasını gerektirir.</p>
<ol>
<li>Tablonun şeması üzerinde ALTER izni</li>
<li>Tablo üzerinde izin</li>
<li>db_ddladmin rolü iznine sahip bir kullanıcı</li>
</ol>
<p>Örnekleri anlatmak için <strong>OrnekVeritabani</strong> adında yeni bir veritabanı oluşturalım.</p>
<pre class="line-numbers"><code class="language-sql">USE OrnekVeritabani;
GO

DROP TABLE dbo.Tablomuz;
GO</code></pre>
<p>DROP TABLE yazıp çalıştırınca ve &#8216;Msg 3701, Level 11, State 5, Line 5 Cannot drop the table &#8216;dbo.Tablomuz&#8217;, because it does not exist or you do not have permission.&#8217; mesajıyla başarısız olacaktır çünkü olmayan bir nesneyi DROP etmeye çalışmaktadır.</p>
<p><strong>1-) OBJECT_ID() Fonksiyonunu Kullanılarak DROP TABLE</strong></p>
<p>OBJECT_ID() fonksiyonu, kendisine aktarılan ad ve tür mevcutsa o türe ait bir nesne döndürür.</p>
<p>Aşağıdaki örnekte, fonksiyona tablonun adını ve nesnenin türünü (U = kullanıcı tablosu) gönderiyoruz ve tabloya ait bir kayıt bulunamazsa NULL değer döndürülüyor ve DROP TABLE işlemi yok sayılıyor.</p>
<pre class="line-numbers"><code class="language-sql">USE OrnekVeritabani;
GO

IF OBJECT_ID(N'dbo.Tablomuz', N'U') IS NOT NULL  
   DROP TABLE [dbo].[Tablomuz];  
GO</code></pre>
<p><strong>2-) sys.tables Sistem View&#8217;ını Sorgulayarak DROP TABLE</strong></p>
<p>Bir tablonun var olup olmadığını görmenin başka bir yolu, tablo ve şema adları için bir giriş olup olmadığını görmek için sys.tables Sistem View&#8217;ını sorgulamaktır.</p>
<pre class="line-numbers"><code class="language-sql">USE OrnekVeritabani;
GO

IF EXISTS (SELECT
			*
		FROM sys.tables
		WHERE SCHEMA_NAME(schema_id) LIKE 'dbo'
		AND name LIKE 'Tablomuz')
	DROP TABLE dbo.Tablomuz;
GO</code></pre>
<p>DROP TABLE, EXISTS sys.systables&#8217;den döndürülen satır olmadığı için çalışmaz.</p>
<p><strong>3-) INFORMATION_SCHEMA.TABLES View&#8217;ını Sorgulayarak DROP TABLE</strong></p>
<p>Tablonun var olup olmadığını görmek için ISO uyumlu INFORMATION_SCHEMA.TABLES View&#8217;ını da sorgulayabiliriz.</p>
<pre class="line-numbers"><code class="language-sql">USE OrnekVeritabani;
GO

IF EXISTS (SELECT
			*
		FROM INFORMATION_SCHEMA.TABLES
		WHERE TABLE_NAME = 'Tablomuz'
		AND TABLE_SCHEMA = 'dbo')
	DROP TABLE dbo.Tablomuz;
GO</code></pre>
<p>DROP TABLE, döndürülen kayıt olmadığı için yok sayılır.</p>
<p><strong>4-) DROP TABLE IF EXISTS </strong></p>
<p>Önceki T-SQL örnekleri, desteklenen tüm SQL Server sürümlerinde çalışacaktır. DROP IF EXISTS sadece SQL Server 2016 ve üzeri versiyonlarda çalışır.</p>
<p>DROP TABLE IF EXISTS kontrol etme ve DROP etme işlemlerinin her ikisini tek bir satırda yapar.</p>
<pre class="line-numbers"><code class="language-sql">USE OrnekVeritabani;
GO

DROP TABLE IF EXISTS dbo.Tablomuz;
GO</code></pre>
<p>Yukarıda DROP TABLE IF EXISTS işleminin kaç şekilde yapılabildiğini gördünüz. Sizler de kendi tablolarınızı kaldırırken yukarıdaki yöntemlerden birini kullanabilirsiniz.</p>
<p><iframe title="SQL Server’da DROP TABLE IF EXISTS Örnekleri" width="739" height="554" src="https://www.youtube.com/embed/ZkRS5R1wAXI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p>Linkteki kaynağı da okuyabilirsiniz : <a href="https://database.guide/4-ways-to-check-if-a-table-exists-before-dropping-it-in-sql-server-t-sql/">https://database.guide/4-ways-to-check-if-a-table-exists-before-dropping-it-in-sql-server-t-sql/</a></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"> 402</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
