De nieuwe uitbreidingen van DDL-statement create if not exists en drop if exists` maken installatiescripts en sessiegebonden tijdelijke tabellen meer expressief en eenvoudiger in het gebruik.
Object aanmaken
De volgende opties waren beschikbaar om een tabel, procedure, functie of view aan te maken:
create [table|procedure|function|view] NAME
en
create or replace [table|procedure|function|view] NAME
Dit wordt uitgebreid met de syntax:
create [table|procedure|function|view] if not exists NAME
welke alleen een object aanmaakt als het niet al bestond.
Indien een applicatiemodule op Invantive Cloud database-inhoud moet cachen in een sessiespecifieke tijdelijke tabel, dan kan dit voortaan betrouwbaar met:
begin
...
create table if not exists MyCache@InMemoryStorage
as
select *
from slow_table
;
select ...
into ...
from MyCache@InMemoryStorage
where ...
;
...
end;
Object verwijderen
De enige variant om een tabel, procedure, functie of view te laten vallen was:
drop [table|procedure|function|view] NAME
Dit is uitgebreid met de syntax:
drop [table|procedure|function|view] if exists NAME
welke alleen het object verwijdert als het al bestond.
Een installatiescript kan nu het volgende statement gebruiken om een voorgaande versie van een tabel te verwijderen indien nog aanwezig:
drop table if exists MyObsoletedTable@SqlServer
Beschikbaarheid
Deze uitbreidingen op DDL-statements zijn beschikbaar vanaf 24.0.778 en 25.0.42.