在 MySQL 中为多个查询创建一个 PROCEDURE
的正确方法是什么,就像针对 SQL 所做的那样?
CREATE OR REPLACE PROCEDURE foo
IS
BEGIN
-- The create sentence goes here. For example:
-- EXECUTE IMMEDIATE
-- 'CREATE TABLE bar (...)';
-- The update sentence goes here
-- EXECUTE IMMEDIATE
-- 'UPDATE bar SET ...';
-- The drop/delete sentence goes here.
-- EXECUTE IMMEDIATE
-- 'DROP TABLE bar;'
END;
最佳答案
在 MySQL 中,只需将 3 个查询插入到您的过程中。您需要之前定义一个不同的分隔符,否则引擎将在第一个 ;
处终止过程定义,这将使其不完整。因此,请更改为其他任何内容,例如 $
或 //
DELIMITER //
CREATE PROCEDURE your_proc()
BEGIN
create ... ;
update ... ;
drop ... ;
END //
DELIMITER ;
关于mysql - 如何使用 PROCEDURE 在 MySQL 上运行多个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31026677/