[英]Check stored procedure exists or not before creating it in mysql
要求:Maven 配置文件應該被賦予一個目錄路徑,在運行我的 Maven 配置文件后,應該在我的數據庫中創建該目錄中的所有 sql 文件(存儲過程)。
注意:目錄中的sql文件有可能增加,因此如果添加了新文件,我應該只運行該文件,而不是運行所有文件。
問題:無法檢查過程是否存在或不使用 IF NOT EXISTS,當我將它添加到我的 sql 文件中時,在創建我的存儲過程之前,它給了我語法錯誤。
我嘗試使用
IF NOT EXISTS(SELECT * FROM mysql.proc WHERE name='procedure_1001') THEN
BEGIN
CREATE DEFINER=`root`@`localhost` PROCEDURE `procedure_1001`()
BEGIN
// logic
END
END
END IF;
檢查ROUTINES
表,如下所示:
SELECT count(*) > 0
into @myvar
FROM INFORMATION_SCHEMA.ROUTINES
WHERE
ROUTINE_TYPE='PROCEDURE'
AND ROUTINE_SCHEMA='dbname'
AND ROUTINE_NAME = 'procedure_1001'
;
然后稍后使用@myvar
。 如果是 1,則運行該過程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.