如何使用 PROCEDURE 在 MySQL 上运行多个查询?

Nin*_*les 1 mysql stored-procedures

PROCEDURE在 MySQL 中为像 SQL 那样的多个查询创建 a 的正确方法是什么?

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;
Run Code Online (Sandbox Code Playgroud)

jue*_*n d 5

在 MySQL 中,只需将 3 个查询插入到您的过程中。您需要之前定义一个不同的分隔符,否则引擎将首先终止过程定义;,这将使其不完整。所以更改为其他任何内容,例如$//

DELIMITER //
CREATE PROCEDURE your_proc()
BEGIN
  create ... ;
  update ... ;
  drop ... ;
END //
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)