Чи існує версія "створити або замінити процедуру" для MySQL? Я, здається, не можу це зробити або скриптувати скасування процедури, якщо вона існує до повторної компіляції, не отримуючи повідомлення про помилку, що зберігається процедура.
DELIMITER $$
-- would love to be able to drop procedure if exists db.sp_tmp_90days;
-- or use "create or replace"
create procedure db.sp_tmp_90days()
BEGIN
drop table db.tmp_90days;
create table db.tmp_90days (
user_name varchar(128),
first_name varchar(50),
last_name varchar(50),
system varchar(10),
last_login datetime
);
alter table db.tmp_90days add index idx_user_name(user_name);
alter table db.tmp_90days add index idx_system(system);
alter table db.tmp_90days add index idx_last_login(last_login);
insert into db.tmp_90days (user_name, first_name, last_name, system, last_login)
SELECT
[...]
END $$
CREATE OR REPLACE PROCEDURE
синтаксис з версії 10.1.