В тази публикация SQL Server – 2016 – T-SQL подобрение клауза „Отпадане, ако съществува“, видяхме новата функция, въведена в SQL Server версия 2016. Един от моите приятели наскоро ми зададе въпрос как да прехвърлям таблица, ако съществува в базата данни на MySQL? Не беше изненадващо да се види, че не много хора знаят за съществуването на тази функция. MySQL вече има тази функция от известно време и ако сте MySQL DBA, може да ви е интересно, че SQL Server току-що представи тази функция.
Нека видим този пример в действие сега. Първо, ще създадем примерна таблица.
CREATE TABLE test(id INT,name VARCHAR(100));
Ако трябва да пуснем над таблицата, можем да изпълним следния скрипт и да го пуснем.
DROP TABLE IF EXISTS test;
Горещият скрипт премахва таблицата с име test, ако съществува, в противен случай ще покаже предупреждение, а не грешка. Това е много важно, за да разберем, че тъй като не показва грешка, можем лесно да заобиколим предупреждението в нашия код. Това е полезно, ако не сте сигурни в съществуването на таблицата предварително.
Не само таблици, но и MySQL има подобна функция, достъпна и за съхранените процедури. Нека видим бърз пример за същото.
Ето скрипт, който можете да използвате за създаване на съхранени процедури.
CREATE PROCEDURE test_proc AS BEGIN SELECT 1 AS number; END;
След като създадете горната процедура, можете да използвате следния скрипт, за да я пуснете.
DROP PROCEDURE IF EXISTS test_proc;
Запомнете, точно като таблицата, тя ще изпусне съхранената процедура, ако има такава, в противен случай просто ще върне предупреждение. Наистина е интересно да се види, че MySQL вече има тази функция от известно време, докато SQL Server току-що представи тази функция през тази година.