ویژگی های جدید SQL Server2016

ویژگی های جدید SQL Server 2016 – استفاده از DIE جهت حذف اشیاء

در این نوشته قصد داریم به معرفی یکی از ویژگی های جدید SQL Server 2016 به نام DIE بپردازیم، که توسط آن روند حذف اشیاء بانک اطلاعاتی به مراتب راحت تره. با ما همراه باشید

پیشنمایش SQL Server 2016 تا نسخه CTP 3.0 توسط ماکروسافت چند وقتی هست که منتشر شده که می‌توانید از طریق این لینک دانلودکنید. تصمیم گرفتیم که از امروز به صورت روزانه هر روز یک قابلیت جدید از SQL Server 2016 را در بلاگ مورد بررسی قرار دهیم.

تکنیکی که امروز بررسی می کنیم یک قابلیت جدید به TSQL می‌باشد به نام DIE، این کلمه ار سرنام سه حرف Drop If Existsتشکیل شده که همانطور که از نام آن مشخص است برای حذف یک Object از بانک اطلاعاتی مورد استفاده قرار می‌گیرد، اجازه بدید این مورد را با یک مثال مختصر توضیح بدیم.در ابتدا یک دیتابیس و جدول تست برای مثال مورد نظر آماده می‌کنیم:

USE master
GO	

CREATE DATABASE TESTDB ;
GO

CREATE TABLE dbo.TestTable 
(
   ID INT IDENTITY(1,1) PRIMARY KEY,
   FName NVARCHAR(100) NOT NULL,
   LName NVARCHAR(100) NOT NULL
)
GO

در گذشته برای حذف یک جدول از بانک‌اطلاعاتی از قطعه کد زیر استفاده می‌کردیم:

IF OBJECT_ID('dbo.TestTable') >0
   DROP TABLE dbo.TestTable;
GO

یا برای حذف یک دیتابیس از قطعه کد زیر استفاده می‌کردیم:

IF EXISTS(SELECT * FROM sys.databases WHERE name='TestDB')
   BEGIN	
      ALTER DATABASE TestDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
      DROP DATABASE TestDB;
   END

اکنون امکانی که در نسخه CTP 3.0 از SQL Server 2016 اضافه شده است این امکان را داریم که با یک دستور تک خطی این اعمال را انجام دهیم، بدین ترتیب برای حذف یک جدول از کد :

DROP TABLE IF EXISTS dbo.TestTable;
GO

و همچنین برای حذف دیتا بیس نیز مشابه دستور قبل از دستور زیر استفاده می کنیم:

DROP DATABASE IF EXISTS TestDB;
GO

لازم به ذکر است که این دستور ابتدا بررسی می‌نماید که آن Object موجود می‌باشد یا خیر ؟ در صورت موجود بودن آن را حذف می‌نماید و در غیر اینصورت بدون خطا به اجرای ادامه دستورات می‌پردازد.

درپایان لیستی از اشیایی که توسط این تکنیک می‌توان حذف نمود مشاهده خواهید کرد:

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

همچنین از تکنیک DIE میتوان در دستور ALTER TABLE نیز استفاده کرد:

  • ALTER TABLE DROP COLUMN IF EXISTS
  • ALTER TABLE DROP CONSTRAINT IF EXISTS

منابع:

اسکریپت:

دانلود اسکریپت

 

برنامه نویس و توسعه دهنده و علاقه مند به هر چیزی که با دیتا در ارتباط باشه
SQL Server , Big Data, Hadoop, R,Statistical Programming

Categories: SQL Server

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *