Có phiên bản "tạo hoặc thay thế thủ tục" cho MySQL không? Tôi dường như không thể làm điều này hoặc kịch bản bỏ quy trình nếu tồn tại trước khi biên dịch lại mà không nhận được thông báo lỗi rằng thủ tục được lưu trữ tồn tại.
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
cú pháp kể từ phiên bản 10.1.