DROP IF EXISTS in SQL Server 2016 (DIE)

Caglar Ozenc 1 min read 2 comments

This post is published in Turkish. An English version is not available yet. Read it in Turkish →

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..

Comments (2)

  1. Çağlar Özenç

    Merhaba,
    wp-cumulus isimli bir eklenti.

  2. 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.

Leave a comment

Comments appear after approval. Your email is not published and not shared with third parties.