直接上内容第一:存储过程中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 //
MySQL 创建计算字段 CONCATOracle ORA-00600: [dmlsrvColLenChk_2:dty] 错误原因及解决相关资讯 MySQL数据库教程
- MySQL 处理非法数据 (04/09/2013 08:06:28)
- MySQL关于timestamp和mysqldump的 (12/16/2012 13:25:41)
- MySQL保证数据完整性 (12/16/2012 12:00:35)
| - ERROR 1130: mysql 1130连接错误的 (12/16/2012 13:29:08)
- MySQL数据库教程:管理数据库和表( (12/16/2012 12:47:02)
- MySQL快速插入大批量数据存储过程 (11/05/2012 19:04:04)
|
本文评论 查看全部评论 (0)