mysql中不存在create procedure怎么说

jljoyd4f  于 2021-07-24  发布在  Java
关注(0)|答案(3)|浏览(399)

我试图在mysql数据库中创建一个过程,但是我想先检查它是否存在。
我知道如何对表执行此操作,但当我对存储过程使用相同的语法时,它不会编译。
有人知道吗?

7ivaypg9

7ivaypg91#

如果程序确实存在,请删除它,然后重新添加:

DROP PROCEDURE IF EXISTS my_procedure;
CREATE PROCEDURE my_procedure()
2skhul33

2skhul332#

SELECT EXISTS(SELECT 1 FROM mysql.proc p WHERE db = 'db_name' AND name = 'stored_proc_name');

所以你可以:

IF NOT EXISTS(SELECT 1 FROM mysql.proc p WHERE db = 'db_name' AND name = 'stored_proc_name') THEN
....
END IF;
3hvapo4f

3hvapo4f3#

它不存在。我们必须编写一个模拟相同功能的存储过程。基本上,我们通过调用执行“if exists”检查的存储过程来创建存储过程。

相关问题