DROP TABLE SQL-sætningen giver dig mulighed for at slette en tabel fra databasen. Hvis tabellen ikke eksisterede derefter forsøger at droppe det ville medføre en fejl at opstå.

DROP TABLE IF e .ists s .l-sætning gør det muligt at kontrollere, at tabellen findes, før du forsøger at droppe (sletning) af tabellen. Hvis tabellen ikke findes, udføres DROP TABLE-sætningen ikke, så der opstår ingen fejl.,

syntaks

syntaksen kan variere lidt afhængigt af hvilken database du kører.

s .l Server

DROP TABLE TableName

DROP, hvis der findes, er kun tilgængelig fra S .l Server 2016 og fremefter.

MySQL

DROP TABLE Tabelnavn

Den MIDLERTIDIGE søgeord kan bruges i MySQL til at angive, at kun en midlertidig tabel, kan blive slettet.,

Eksempler på brug af DROP TABEL, HVIS der FINDES

Eksempel 1 – Slette en tabel ved hjælp af DROP TABLE med, HVIS der FINDES en klausul

Eksempel 2 – Fejl, der opstår, når du bruger DROP TABLE uden, HVIS der FINDES en klausul

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

De fejl der er: Ikke slippe tabellen ‘dbo.Land’, fordi det ikke eksisterer, eller du ikke har tilladelse.,

Eksempel 3 – Hjælp med temp tabeller i SQL Server

Eksempel 4 – Hjælp med midlertidige tabeller i MySQL

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

Alternative metoder til at droppe en tabel med en eksisterer check

Du kan bruge den INFORMATION_SCHEMA af database til at udføre den samme funktionalitet. Denne metode understøttes af de fleste af de store databaser, herunder S .l Server, Mys .l, Oracle, PostGres, IBM DB2. INFORMATION_SCHEMA er ANSI s .l-kompatibel og er beregnet til at gøre det muligt at finde databaseobjektoplysninger.,

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

Hvis du kører en version af SQL Server før SQL Server 2016, så kan du bruge følgende metode til at opnå det samme formål som DROP TABEL, HVIS der FINDES. Dette indebærer at bruge en IF-sætning i kombination med OBJECT_ID-funktionen. Den 2. parameter i OBJECT_ID-funktionen sendes en ‘u’. Dette repræsenterer den type objekt, der skal kontrolleres, og i dette tilfælde står’ u ‘for en’brugerdefineret tabel’.,

konklusion

Vi har set i denne artikel, Hvordan brug af IF e .ists-klausulen med DROP TABLE-sætningen giver en simpel en-line metode til at kontrollere, om der findes en tabel, før du forsøger at slette den. DROP if e .ists-metoden kan også bruges sammen med andre typer databaseobjekter for at muliggøre en konsistent, nem tilgang til at skrive data definition language (DDL) udsagn i din s .l-kode.,

Hvis du kører en databaseplatform, der ikke understøtter DROP, hvis den findes, har vi udforsket et par alternative metoder, du kan bruge til at opnå de samme resultater, omend på en mindre kortfattet måde.

rapporter denne annonce

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *