当前位置:Gxlcms > 数据库问题 > my sql存储过程 基本使用

my sql存储过程 基本使用

时间:2021-07-01 10:21:17 帮助过:28人阅读

------------创建不带参数的存储过程----------------- DELIMITER;; drop PROCEDURE if EXISTS selectStudent; create PROCEDURE selectStudent() BEGIN select*from student; end;; DELIMITER; --------------带参数的存储过程-------------------- drop PROCEDURE if EXISTS selectCity; create PROCEDURE selectCity( in _cityID varchar(10)--输入参数-- ) BEGIN select *from student where cityID=_cityID; end; --------------带有输出参数的存储过程-------------------- drop PROCEDURE if EXISTS selectCity_Name; CREATE PROCEDURE selectCity_Name( in _CityID varchar(10)--输入参数, out _City varchar(10) --输出参数, inout _CityIDName varchar(10) --输入输出参数 ) BEGIN select*from student where cityID=_CityID and CityName=_CityName INTO _City; end; set @_CityID=1; set @_CityIDName=郑州; call selectCity_Name(@_CityID,@_City,@_CityIDName); select @_CityIDName as ID,@_City; -----------带有通配符的存储过程------------ drop PROCEDURE if EXISTS selectCityLike; create PROCEDURE selectCityLike( in _CityName varchar(10) ) BEGIN set @exec_sql =CONCAT("select *from student where name like %",_CityName,"%"); PREPARE stmt from @exec_sql ; --定义 EXECUTE stmt;--执行预处理语句 DEALLOCATE PREPARE stmt;--删除定义 end -------循环语句:操作前检查结果---------- create PROCEDURE proc4() BEGIN declare var int; set var=0; WHILE var<6 DO insert into t VALUES(var); set var=var+1; end while; end ----------循环语句:操作后检查结果------------ create PROCEDURE proc5() BEGIN DECLARE v int; set v=0; REPEAT insert into t VALUES(v); set v=v+1; UNTIL v>=5 end repeat; end ----------循环语句:loop..endloop------------ create PROCEDURE proc6() BEGIN declare v int; set v=0; loop_lable:LOOP insert into values(v); set v=v+1; if v>=5 THEN LEAVE loop_lable; end if; end loop; end ----------循环语句:loop..endloop------------- create PROCEDURE proc7() BEGIN DECLARE v int; set v=0; loop_lable:LOOP if v=3 THEN set v=v+1; ITERATE loop_lable;--继续循环 end if; insert into t values(v); set v=v+1; if v>=5 THEN leave loop_lable;--跳出循环 end if; end loop; end;

 

my sql存储过程 基本使用

标签:存储过程   定义   入参   rom   proc   varchar   预处理   val   end   

人气教程排行