﻿<?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 Server&#8217;da Cursor ile Tekrarlanan Kayıtları Silmek &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/sql-serverda-cursor-ile-tekrarlanan-kayitlari-silmek/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Sat, 10 Mar 2018 09:51:26 +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 Cursor ile Tekrarlanan Kayıtları Silmek</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-cursor-ile-tekrarlanan-kayitlari-silmek</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Sun, 11 Mar 2018 18:30:52 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Cursor ile Tekrarlanan Kayıtları Silmek]]></category>
		<category><![CDATA[Cursor ile Tekrarlanan Kayıtların Silinmesi]]></category>
		<category><![CDATA[SQL Server'da Cursor ile Tekrarlanan Kayıtları Silmek]]></category>
		<guid isPermaLink="false">http://sqlserveregitimleri.com/?p=4896</guid>

					<description><![CDATA[Herkese merhaba, Bu yazıda SQL Server&#8217;da Cursor kullanarak yinelenen yani tekrarlanan kayıtların nasıl silineceğinden bahsedeceğim. SQL Server&#8217;da benzer kayıtlar içeren satırlar tablolarımızda bulunabilir. Bunları tek tek...]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba,</p>
<p>Bu yazıda SQL Server&#8217;da Cursor kullanarak yinelenen yani tekrarlanan kayıtların nasıl silineceğinden bahsedeceğim. SQL Server&#8217;da benzer kayıtlar içeren satırlar tablolarımızda bulunabilir. Bunları tek tek silmek zor, zaman alıcı olabilir ayrıca veri kaybına da neden olabilirsiniz. İşlemi daha iyi anlamak için aşağıdaki örneğimizi inceleyelim.</p>
<pre class="lang:default decode:true ">--Örnek Database oluşturmak

CREATE DATABASE Ornek
GO

--Database kullanımı
USE Ornek
GO

--Tablo oluşturmak
CREATE TABLE Kullanicilar
(
KullaniciID [int] NOT NULL,
KullaniciAd [nvarchar](50) NULL
) 


--Tabloya veri insert etmek
INSERT INTO Kullanicilar (KullaniciID,KullaniciAd) VALUES (1,'Yavuz')
INSERT INTO Kullanicilar (KullaniciID,KullaniciAd) VALUES (1,'Yavuz')
INSERT INTO Kullanicilar (KullaniciID,KullaniciAd) VALUES (2,'Selim')
INSERT INTO Kullanicilar (KullaniciID,KullaniciAd) VALUES (3,'Pelin')
INSERT INTO Kullanicilar (KullaniciID,KullaniciAd) VALUES (4,'Büşra')
INSERT INTO Kullanicilar (KullaniciID,KullaniciAd) VALUES (4,'Büşra')
INSERT INTO Kullanicilar (KullaniciID,KullaniciAd) VALUES (4,'Kübra')

--Tablodaki fazla kayıtları listelemek
SELECT 
        KullaniciID,KullaniciAd,COUNT(KullaniciID) AS FazlaKayıtSayısı
FROM
        Kullanicilar
GROUP BY
        KullaniciID,KullaniciAd
HAVING
        COUNT(KullaniciID) &gt; 1

--Değişken tanımlama
DECLARE @ID int
DECLARE @Ad NVARCHAR(50)
DECLARE @Sayac int

--Cursor tanımlama
DECLARE DeleteCursor CURSOR FOR
SELECT 
        KullaniciID,KullaniciAd,COUNT(KullaniciID) AS FazlaKayıtSayısı
FROM
        Kullanicilar
GROUP BY
        KullaniciID,KullaniciAd
HAVING
        COUNT(KullaniciID) &gt; 1

--Cursor açılması
OPEN DeleteCursor
--Cursor'un değerler içinde dönmesi
FETCH NEXT FROM DeleteCursor INTO @ID,@Ad,@Sayac

WHILE @@FETCH_STATUS = 0
BEGIN
--Silme işlemi
DELETE TOP(@Sayac -1) FROM Kullanicilar WHERE KullaniciID = @ID

FETCH NEXT FROM DeleteCursor INTO @ID,@Ad,@Sayac
END
--Cursor kapatma
CLOSE DeleteCursor
--Cursor öldürme
DEALLOCATE DeleteCursor

--Tabloyu listeleme
SELECT * FROM Kullanicilar
</pre>
<p>Yukarıdaki kodlarda veritabanı ve tablo oluşturduk. İçerisine veri insert ettik. Bu verilerden bazıları aynı verilerdi. Bunları silmek için cursor oluşturduk ve bu cursor ile silme işlemini gerçekleştirdik.</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"> 573</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
