在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;
答案 0 :(得分:2)
在MySQL中,只需将3个查询插入到您的过程中。您需要之前定义的不同分隔符,否则引擎将在第一个;
处终止过程定义,这将使其不完整。因此,请更改为$
或//
DELIMITER //
CREATE PROCEDURE your_proc()
BEGIN
create ... ;
update ... ;
drop ... ;
END //
DELIMITER ;
答案 1 :(得分:0)
dba_tables