如果条件匹配,则停止运行脚本

时间:2020-02-18 09:23:25

标签: mysql

如果我使用的数据库包含“ PROD”,则必须停止我的脚本。

我可以使用存储过程来做到这一点,但是:

  1. 太大了
  2. 如果失败,则不会删除过程,但必须删除它。

是否有更好的方法或至少可以选择在失败的情况下放弃该程序?

我的代码:

USE xxx_prod_xxx;

DELIMITER $$
drop procedure if exists check_if_prod$$
CREATE PROCEDURE check_if_prod()
BEGIN
    DECLARE C VARCHAR(100);

    SELECT DATABASE() INTO C;

    -- check if contains "prod"
    IF(C LIKE '%prod%') THEN 
        SIGNAL SQLSTATE '45000'
            SET MESSAGE_TEXT = 'Shit happens.';
    END IF;
END$$
DELIMITER ;

CALL check_if_prod();
DROP PROCEDURE check_if_prod;

0 个答案:

没有答案