COMPUTER ENGINEER

Örneklere git
Blog
SQL Server / T-SQL6 dk çalışma
38/ 65

Modelleme ve veri değişimi

DELETE, TRUNCATE ve DROP

Satır, bütün içerik ve nesne farklı seviyelerdir.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

DELETE WHERE ile seçili satırları kaldırabilir. TRUNCATE TABLE tablonun bütün satırlarını kaldırır, WHERE kabul etmez ve identity sayacını sıfırlar. DROP TABLE nesnenin kendisini kaldırır. Bunlar eş anlamlı komutlar değildir.

SQL Server’da TRUNCATE “hiç log yazmayan” bir işlem değildir; sayfa deallocation işlemleri loglanır ve uygun transaction içinde geri alınabilir. Foreign key, temporal tablo ve diğer özellikler kullanımını sınırlayabilir. Bu ders yalnız geçici tablolarla örnek verir; üretim verisi silme planı yetki, bağımlılık ve yedek stratejisi gerektirir.

NERESİNDE KULLANIRSIN?

Temizlik ve nesne yaşam döngüsünde doğru komutu seçmek için.

SIK YAPILAN HATA

TRUNCATE’in geri alınamaz veya tamamen logsuz olduğunu sanmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

T-SQL / SQL Server 2019+
CREATE TABLE #DeleteDemo (Id int); INSERT INTO #DeleteDemo VALUES (1),(2); DELETE FROM #DeleteDemo WHERE Id = 1; SELECT * FROM #DeleteDemo;

Yalnız 2 numaralı geçici kayıt kalır.

Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.

02 / SIRA SENDE

Önce kendin dene.

Geçici tabloda seçili silme ile tüm satırları silme farkını dene.

Çözümü ve açıklamasını göster
Açıklamalı çözüm
CREATE TABLE #CleanDemo (Id int); INSERT INTO #CleanDemo VALUES (1),(2),(3); DELETE FROM #CleanDemo WHERE Id = 2; SELECT COUNT(*) AS Remaining FROM #CleanDemo;

İki satır kalır; nesne hâlâ vardır.