Als u een database gebruiken voor lang genoeg , zal je waarschijnlijk lopen in een situatie waarin u een tabel wilt laten vallen als het bestaat . Vaak is de reden dat je dit wilt doen is omdat je nodig hebt om een tabel te maken en je wilt niet te lopen in een foutmelding wanneer u probeert om het te maken omdat een tabel met die naam al bestaat , maar willen niet een ontmoeting fout wanneer je het laat vallen omdat het niet bestaat . Wat uw beweegredenen ook mag zijn, dit is hoe je een tafel kunt laten vallen als ( en alleen als ) het al bestaat in MySQL , MS SQL en Oracle . Wat je nodig hebt Oracle , MySQL of MS SQL Server Een tabel die u staan te popelen om zich te ontdoen van Toon Meer Aanwijzingen MySQL 1 was zo vriendelijk genoeg te maken het zeer eenvoudig om een bestaande tabel te laten vallen . Aan de helaas -genoemde tabel ' Drop_Me ' laten vallen , de volgende query - DROP TABLE ALS BESTAAT Drop_Me MS SQL 2 maakt het iets moeilijker om een tafel te laten vallen als het bestaat . Om dit te bereiken , moet u een IF statement en de EXISTS functie te gebruiken - ALS BESTAAT ( SELECT 1 FROM sys.objects WAAR object_id = OBJECT_ID ( N'Drop_Me ' ) EN type = ( N ' U ' ) ) DROP TABLE Drop_Me Oracle 3 neemt de complexiteit van het laten vallen van een tafel als het bestaat naar het volgende niveau . In dit stukje voorbeeldcode , moet u de eigenaar van de tafel , die toevallig 'Me ' weet - DECLAREv_count NUMMER : = 0 ; BEGINSELECT COUNT ( * ) IN v_count FROM all_tables WHERE table_name = ' Drop_Me ' AND eigenaar = ' Me ' ; IF v_count = 1 THENEXECUTE ONMIDDELLIJKE ' DROP TABLE Me.Drop_Me ' ; END IF ; END ;
|