例如
DELIMITER //
CREATE PROCEDURE XX()
BEGIN
DECLARE i VARCHAR(10);
SET i=6;IF i>5 THEN
SELECT 'aaa' AS message ;
-- 我想程序执行到这个地方就终止执行后面的语句.直接退出SP .. 就像在java中的break一样...
END IF;IF i>4 THEN
SELECT 'bbb' AS message ;
END IF;IF i>3 THEN
SELECT 'ccc' AS message ;
END IF;
END//
DELIMITER;
求大哥明示~~~~~~
DELIMITER //
CREATE PROCEDURE XX()
BEGIN
DECLARE i VARCHAR(10);
SET i=6;IF i>5 THEN
SELECT 'aaa' AS message ;
-- 我想程序执行到这个地方就终止执行后面的语句.直接退出SP .. 就像在java中的break一样...
END IF;IF i>4 THEN
SELECT 'bbb' AS message ;
END IF;IF i>3 THEN
SELECT 'ccc' AS message ;
END IF;
END//
DELIMITER;
求大哥明示~~~~~~
解决方案 »
- 非安装版的mysql,如何运行及使用?
- 一个虚拟主机带Mysql数据库,如何写个API可以实现对这个数据库的增删改查呢
- 到广州鲲跃做数据库工程师怎么样?
- 关于postgresql........relation "A" does not exist的问题.....
- 【急问】怎么备份和恢复mysql数据库?在php里面可以做吗?
- 通过mysql administrator v1.1.0 rc版本怎么把现有的*.sql数据库表倒入系统??急。在线等!
- MYSQL库中有一日期型字段RQ,怎么取RQ中的年、月、日?
- 关于innodb线程安全的几个小问题
- 关于存储过程不起作用的问题!
- 用python连接阿里云mysql上传不了数据
- 求这个子查询的优化
- 数据库中有函数,可以将16进制转换成10进制吗?
CREATE PROCEDURE doiterate(p1 INT)
BEGIN
label1: LOOP
SET p1 = p1 + 1;
IF p1 < 10 THEN ITERATE label1; END IF;
LEAVE label1;
END LOOP label1;
SET @x = p1;
END
我想要的是退出整个SP这个label 要咋写呢?
CREATE PROCEDURE XX()
L_END: BEGINDECLARE i VARCHAR(10);
SET i=6;IF i>5 THEN
SELECT 'aaa' AS message ;
leave L_END;
END IF;IF i>4 THEN
SELECT 'bbb' AS message ;
END IF;IF i>3 THEN
SELECT 'ccc' AS message ;
END IF;
END;
END LOOP label1;//
DELIMITER;
CREATE PROCEDURE XX()
L_END:
BEGIN
DECLARE i VARCHAR(10);
SET i=6;IF i>5 THEN
SELECT 'aaa' AS message ;
LEAVE L_END;
END IF;IF i>4 THEN
SELECT 'bbb' AS message ;
END IF;IF i>3 THEN
SELECT 'ccc' AS message ;
END IF;END L_END//