终止mysql存储过程

现有存储过程如下:

DELIMITER $$

CREATE
    PROCEDURE my_data`.`end_demo`()
    BEGIN
    DECLARE a INT(20) DEFAULT 0;
IF 
	'1' = '1' 
THEN
	#把1赋值给变量a
	SELECT '1' INTO a;
END IF;

SELECT a;
    END$$
DELIMITER ;

执行CALL end_demo()返回1。

现在演示终止存储过程如下:

DELIMITER $$

CREATE
    PROCEDURE `school_card_test2`.`end_demo4`()
    #tx是个标志,可以自定义任意的非关键词为标志。
    tx:BEGIN
    DECLARE a INT(20) DEFAULT 0;
IF 
	'1' = '1' 
THEN
    #终止操作
	LEAVE tx;
	#把1赋值给变量a
	SELECT '1' INTO a;
END IF;

SELECT a;
    END$$
DELIMITER ;

执行CALL end_demo()后没有返回值。

你可能感兴趣的:(MySQL)