DROP IF EXISTS in SQL Server 2016 (DIE)

By | 13 Aralık 2016

Merhabalar,

Bu yazımızda SQL Server 2016 ile hayatımıza girmiş olan yeniliklerden birinden sizlere bahsedeceğim. SQL Server 2016 öncesinde bir sql nesnesini drop edebilmek için var olup olmadığını kontrol etmemiz gerekirdi aksi taktirde aşağıdaki gibi bir hata ile karşılaşıyor olacaktık.

Dolayısı ise yukarıdaki gibi bir kullanım yapmadan önce var olup olmadığını aşağıdaki yöntemleri kullanarak bulup hatasız bir şekilde işlemin sonlanmasını sağlıyorduk.

IF EXISTS (SELECT ‘x’ FROM sys.objects AS O WHERE O.name = ‘tmp_CaglarOZENC’ and O. [type] = ‘U’ )

DROP table [tmp_CaglarOZENC]

Yada aşağıdaki gibi bir kullanım yapıyorduk.

IF OBJECT_ID(‘tmp_CaglarOZENC’,’U’) IS NOT NULL

DROP TABLE [tmp_CaglarOZENC]

Artık ise SQL Server 2016 ile gelen DIE ( Drop If Exists ) ile aşağıdaki gibi bir kullanım yaşantımıza katılmış oldu.

Drop TABLE IF EXISTS tmp_CaglarOZENC

SQL Server 2016 ile eski versiyonlara göre daha az kod yazarak aynı işlemi yapmış olabiliyoruz. Hatta bir tablodaki kolunu yada constraint’i daha drop etmek için kullanabiliriz.

ALTER TABLE [tmp_CaglarOZENC] DROP CONSTRAINT IF EXISTS [ConstraintAdı]

ALTER TABLE [tmp_CaglarOZENC] DROP COLUMN IF EXISTS [TabloAdı]

SQL Server 2016 ile gelen DIE ( drop If Exists ) özelliği aşağıdaki nesneler için de kullanılabilir.

  • ASSEMBLY
  • VIEW
  • DATABASE
  • DEFAULT
  • FUNCTION
  • PROCEDURE
  • INDEX
  • AGGREGATE
  • ROLE
  • RULE
  • SCHEMA
  • SECURITY POLICY
  • SEQUENCE
  • SYNONYM
  • TABLE
  • TRIGGER
  • TYPE
  • USER
  • VIEW

Faydalı olması dileği ile..

Share

2 thoughts on “DROP IF EXISTS in SQL Server 2016 (DIE)

  1. seracettin

    Merhaba Çağlar bu etiketler kısmaında hareket eden flash ın kaynak kodları ya da onun hakkında
    bılgı verırmısın.

    Reply

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir