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

时间:2015-06-24 12:32:41

标签: mysql stored-procedures

在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;

2 个答案:

答案 0 :(得分:2)

在MySQL中,只需将3个查询插入到您的过程中。您需要之前定义的不同分隔符,否则引擎将在第一个;处终止过程定义,这将使其不完整。因此,请更改为$//

等其他内容
DELIMITER //
CREATE PROCEDURE your_proc()
BEGIN
  create ... ;
  update ... ;
  drop ... ;
END //
DELIMITER ;

答案 1 :(得分:0)

dba_tables