Hvordan Drop en database tabell bare hvis det allerede finnes

Hvis du bruker en database lenge nok, vil du sannsynligvis kjøre inn i en situasjon hvor du ønsker å slippe en tabell hvis den finnes. Ofte grunnen til at du ønsker å gjøre dette er fordi du trenger for å lage et bord, og du ikke ønsker å støte på en feil når du prøver å lage det fordi en tabell med det navnet finnes allerede. Uansett hva dine motiver kan være, kan du slippe en tabell hvis det allerede eksisterer i MySQL, Microsoft SQL og Oracle.

Bruksanvisning

1 MySQL var snill nok til å gjøre det veldig enkelt å slippe en eksisterende tabell. For å slippe dessverre nevnte tabell "Drop_Me," kjøre følgende spørring:

DROP TABLE IF eksisterer Drop_Me

2 Microsoft SQL gjør det litt vanskeligere å slippe en tabell hvis den finnes. For å oppnå dette, må du bruke en IF-setning og EXISTS funksjon:

IF eksisterer (SELECT 1 Fra sys.objects WHERE OBJECT_ID = OBJECT_ID (N'Drop_Me ') og type = (N'U'))

DROP TABLE Drop_Me

3 Oracle tar kompleksiteten i å slippe en tabell hvis den finnes til neste nivå. I denne delen av eksempelkoden, må du vite eieren av bordet, som skjer for å være "meg":

ERKLÆRE

v_count NUMMER: = 0;

BEGYNNE

SELECT COUNT (*) INTO v_count Fra all_tables WHERE table_name = 'Drop_Me' og eier = 'Me';

HVIS v_count = 1 THEN

EXECUTE IMMEDIATE 'DROP TABLE Me.Drop_Me';

SLUTT OM;

SLUTT;

Hint

  • Andre databaser sannsynlig har en helt annen syntaks for å slippe en tabell hvis den finnes.
  • Pass på at du virkelig ønsker å slippe bordet før du kjører en av disse kommandoene. Du vil ikke bli bedt om bekreftelse.