第12章 存储过程和函数。控制台写简单过程

控制台写简单过程

创建简单的循环脚本,可快速执行:

1,定义结束标记:
delimiter ||
2,创建过程
drop procedure if exists tmp_procedure ||

 create procedure tmp_procedure()
 begin
 declare i int;
 set i=0;
 while i < 5 do

 insert into t values(i);

 set i=i+1;
 select sleep(1);
 end while;
 end ||

3,恢复结束标记:
delimiter ;

4,执行:
     call tmp_procedure();

5,删除:

drop procedure if exists tmp_procedure

6,完成


支持DDL,commit,rollback
不支持load data infile
delimiter $$
create procedure pname(IN p1)
begin

#以下是“游标“”知识点,解决复杂问题。游标方法不能解决explain类特殊SQL,能解决select类sql。
declare vara int;
declare varb int;
declare cur_001 CURSOR FOR select a1,a2 from xxx;
declare EXIT HANDLER FOR NOT FOUND CLOSE cur_001;


OPEN CUR_001;
REPEAT
 FETCH cur_001 INTO  vara,varb;
UNTIL 0 END REPEAT;
CLOSE CUR_001;

end $$

delimiter ;

变量:
必须定义在begin和end中,在复合语句开头,并在任何其他语句前面。
declare varName Date;与java相反。

流程控制语句:
if condition1 then sta1
 elseiff con2 then st2
 else st3
end if

case con1
 when when_value1 then st1
 when when_value2 then st2
 else st3
end case
或者
case when con1 then st1
     when con2 then st2
     else st3
end case

[begin_label]LOOP
 st1
 if xxx then
 leave [label];
 end if;

 iterate [label];//跳过循环
END LOOP [end_label]

REPEAT:
[begin_label:] EEPEAT
 st1
 UNTIL search_condition
END REPEAT[end_label]

WHILE:
[begin_label:] WHILE xxx DO
 st1
END WHILE [end_label]

调度器:
在繁忙和性能要求高的数据库服务器上,慎重部署和启用调度器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值