de DROP TABLE SQL statement stelt u in staat om een tabel uit de database te verwijderen. Als de tabel niet bestond, zou een poging om het te laten vallen een fout veroorzaken.

de DROP TABLE IF EXISTS SQL statement laat een controle toe om te zien dat de tabel bestaat voordat u probeert de tabel te laten vallen (verwijderen). Als de tabel niet bestaat dan wordt de DROP TABLE statement niet uitgevoerd, zodat er geen fout optreedt.,

syntaxis

de syntaxis kan enigszins verschillen afhankelijk van welke database u draait.

SQL Server

DROP TABLE TableName

DROP IF EXISTS is only available from SQL Server 2016 onwards.

MySQL

DROP TABLE TableName

het tijdelijke sleutelwoord kan in MySQL worden gebruikt om aan te geven dat alleen een tijdelijke tabel kan worden verwijderd.,

voorbeelden van het gebruik van DROP TABLE IF EXISTS

Voorbeeld 1-een tabel verwijderen met behulp van DROP TABLE met de if EXISTS-clausule

Voorbeeld 2 – Fout die optreedt bij het gebruik van DROP TABLE zonder de IF EXISTS-clausule

-- if we attempt to DROP the table that we just created and dropped then we will get an errorDROP TABLE dbo.Country;

de geretourneerde fout is: kan de tabel niet laten vallen ‘dbo.Land’, omdat het niet bestaat of je geen toestemming hebt.,

Voorbeeld 3-gebruiken met temp tabellen in SQL Server

Voorbeeld 4 – gebruiken met tijdelijke tabellen in MySQL

-- temp table MySQLCREATE TEMPORARY TABLE Continent( Id INT PRIMARY KEY, Continent varchar(50));DROP TEMPORARY TABLE IF EXISTS Continent;

alternatieve methoden voor het droppen van een tabel met een exists check

u kunt het INFORMATION_SCHEMA van de database gebruiken om dezelfde functionaliteit uit te voeren. Deze methode wordt ondersteund door de meeste grote databases, waaronder SQL Server, MySQL, Oracle, PostGres, IBM DB2. Het INFORMATION_SCHEMA is ANSI SQL compliant en is bedoeld om het vinden van databaseobjectinformatie mogelijk te maken.,

IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'Country' AND TABLE_SCHEMA = 'dbo') DROP TABLE dbo.Country;

Als u een versie van SQL Server draait voorafgaand aan SQL Server 2016, kunt u de volgende methode gebruiken om hetzelfde doel te bereiken als de DROP TABLE als deze bestaat. Hierbij wordt een IF statement gebruikt in combinatie met de OBJECT_ID functie. De tweede parameter van de OBJECT_ID functie wordt doorgegeven met een ‘u’. Dit staat voor het type object dat moet worden gecontroleerd en in dit geval staat ‘u’ voor een ‘door de gebruiker gedefinieerde tabel’.,

conclusie

We hebben in dit artikel gezien hoe het gebruik van de if EXISTS-clausule met het DROP TABLE-statement Een eenvoudige éénregelige methode biedt om te controleren of een tabel bestaat voordat deze wordt verwijderd. De methode DROP IF EXISTS kan ook worden gebruikt met andere typen databaseobjecten om een consistente, eenvoudige benadering van het schrijven van Data definition language (DDL) – statements in uw SQL-code mogelijk te maken.,

Als u een databaseplatform draait dat DROP IF EXISTS niet ondersteunt, dan hebben we een aantal alternatieve methoden onderzocht die u kunt gebruiken om dezelfde resultaten te bereiken, zij het op een minder beknopte manier.

meld deze advertentie

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *