Microsoft SQL Server 2016 T-SQL yenilikləri. DROP IF EXISTS
Salam Dostlar.
Informasiya Texnologiyaları sahəsi çox dinamik inkişaf edir, proqramlar, serverlər hər zaman yenilənir. “Microsoft” şirkətinin məhsulları da daim yenilənir. Artıq SQL Server 2016 CTP3 üzərində işlər gedir, sistem hələlik yoxlama rejimindədir və SQL Serverin yeni versiyası gələn il işıq üzü görəcək.
Çox maraqlı və faydalı yeniliklərdən biri T-SQL dili ilə bağlıdır. Yeniliklər DDL əmrlər qrupuna aid olan DROP və ALTER əmrlərinə aiddir. Bildiyiniz kimi, SQL Serverdə, digər platformalarda həmçinin, hər hansı bir obyektin (cədvəlin, prosedurun, funksiyanın, triggerin, indeksin və s.) yaradılmasından öncə çox tövsiyə olunur ki, həmin obyektin bazada olub-olmaması yoxlanılısın və əgər varsa silinsin. Bu proqram təminatı bazaları üçün olduqca vacibdir, çünki proqram təminatı bazası üçün yeni bir obyekt yaradılanda, əgər həmin obyekt bazada artıq mövcuddursa, bu proqramın sıradan çıxmasına gətirib çıxara bilər.
Hər hansı bir obyektin verilənlər bazasında mövcudluğu iki cür yoxlamaq mümkün idi:
1. Microsoft SQL Serverdə aşağıdakı sintaksis qəbul olunmuşdur:
IF OBJECT_ID(N'dbo.MyTable', N'U') IS NOT NULL DROP TABLE dbo.MyTable; GO CREATE TABLE dbo.MyTable (Table_ID int); GO
2. ANSİ SQL standartında bu əməliyyat aşağıdakı şəkildə edilir. Bu variant Microsoft SQL Serverlə yanaşı, digər platformalar tərəfindən də dəstəklənir:
IF EXISTS (SELECT 1 from sys.objects WHERE name = 'MyTable'and TYPE = 'u') DROP TABLE MyTable; GO CREATE TABLE dbo.MyTable (Table_ID int); GO
3. SQL Server 2016 STP3 versiyasından başlayaraq çox gözəl üçüncü bir üsul təqdim edildi:
DROP TABLE IF EXISTS dbo.MyTable; GO CREATE TABLE dbo.MyTable (Table_ID int); GO
Yeni sintaksis aşağıdakı obyektlər üçün dəstəklənir:
Obyektlərdən başqa DROP IF EXISTS sütunların və məhdudiyyət açarlarının silinməsi zamanı istfadə etmək olar:
ALTER TABLE DROP COLUMN IF EXISTS
ALTER TABLE DROP CONSTRAINT IF EXISTS
Növbəti məqalələrdə görüşənədək.
Diqqətinizə görə təşəkkür edirəm.
Şərhlər ( 1 )
Məqlə üçün təşəkkürlər Rauf bəy.