本文共 1442 字,大约阅读时间需要 4 分钟。
直接上内容
第一:存储过程中CASE 条件
- CREATE PROCEDURE p_case(IN parameter1 INT)
- BEGIN
- DECLARE variable1 INT;
- SET variable1 = parameter1 + 1;
- CASE variable1
- WHEN 0 THEN INSERT INTO t VALUES(0);
- WHEN 1 THEN INSERT INTO t VALUES(1);
- ELSE INSERT INTO t VALUES(2);
- END CASE;
- END;
LOOPS 循环
【一】WHILE...END WHILE
【二】LOOP...END LOOP
【三】REPEAT...END REPEAT
【四】GOTO
一:WHILE...END WHILE
- CREATE PROCEDURE p_while()
- BEGIN
- DECLARE v INT;
- SET v = 0;
- WHILE v < 5 DO
- INSERT INTO t VALUES(v);
- SET v = v + 1;
- END WHILE;
- END;//
二:LOOP...END LOOP
- CREATE PROCEDURE p_loop()
- BEGIN
- DECLARE v INT;
- SET v = 0;
- loop_label:LOOP
- INSERT INTO t VALUES(v);
- SET v = v + 1;
- IF v>=5 THEN
- LEAVE loop_label;
- END IF;
- END LOOP;
- END;
三:REPEAT...END REPEAT
- CREATE PROCEDURE p_repeat()
- BEGIN
- DECLARE v INT;
- SET v = 0;
- REPEAT
- INSERT INTO t VALUES(v);
- SET v = v + 1;
- UNTIL v>=5
- END REPEAT;
- END;//
存储过程:
有返回
- CREATE PROCEDURE optionsrank(
- OUT pl INT,
- OUT ph INT,
- OUT pa INT
- )
- BEGIN
- SELECT MAX(option_id) INTO ph FROM wp_options;
- SELECT Min(option_id) INTO pl FROM wp_options;
- SELECT AVG(option_id) INTO pa FROM wp_options;
- END;
- CALL optionsrank(@pl,@ph,@pa) //
- SELECT @pl,@ph,@pa //
IN AND OUT 有传入和传出参数
- CREATE PROCEDURE in_out_test(
- IN in_option_id INT,
- OUT out_option_value TEXT
- )
- BEGIN
- SELECT option_value INTO out_option_value FROM wp_options WHERE option_id = in_option_id;
- END;
- CALL in_out_test(100,@out) //
- SELECT @out //
本文转自kefirking 51CTO博客,原文链接:http://blog.51cto.com/phpzf/793775,如需转载请自行联系原作者