PostgreSQL Truncate

PostgreSQL Truncate, Truncate delete ile aynı işi yapmaktadır fakat delete komutundan farkı hiçbir koşulu gözetmeksizin tabloda ki verileri siler. Koşul belirtmeksizin derken gerçekten de koşul belirtemiyoruz TRUNCATE cümlesinde WHERE koşulu kullanamıyoruz.

Genel kullanımı aşağıdaki gibidir.

 

TRUNCATE TABLE Tablo_adi;

 

TRUNCATE işlemi yapılan tabloya exclusive lock (Tablo da Truncate komutu haricinde başka bir şey çalışmasına izin verilmez) koyulur. Bunun olmasını istemiyorsanız DELETE cümlesini kullanabilirsiniz. Truncate yaparken postgresql bize bazı güzellikler sunmuştur. Tablonuzda identity kolon varsa tablo silindiğinde tekrar sıfırdan başlasın yada silinen en son veriden devam etsin gibi seçenekler  sunulmaktadır. Bunları nasıl yapacağız derseniz aşağıdaki  parametreleri kullanabilirsiniz.

  • RESTART IDENTITY: Tablo truncate edildikten sonra identity değeri sıfırlamak için TRUNCATE cümlesinin sonuna yazılır.
  • CONTINUE IDENTITY:  İdentity değeri kaldığı yerden devam ettirir.
  • CASCADE: Tablonun başka bir tablo ile bağlantısı varsa hepsinde verileri temizler.
  • RESTRICT: Tablo da referans key var ise referans key’i  keser.

 

Örnek uygulamamıza başlayalım.

İlk olarak tablomuzda ki verileri görelim.

Tablomuzdaki verileri TRUNCATE  komutu ile temizleyelim.

TRUNCATE TABLE ogrenci_t1;

Tablomuz truncate oldu şimdi veri var mı bakalım.

 

Loading