MySQL循环存储过程的写法

创建 MySQL 存储过程的简单语法为:

CREATE PROCEDURE 存储过程名称( [in | out | inout] 参数 ) 
 
BEGIN
 
Mysql 语句 
 
END
几个循环语句的格式如下:
WHILE……DO……END WHILE
REPEAT……UNTIL END REPEAT
LOOP……END LOOP

GOTO。

1.while 循环:

delimiter $$    // 定义结束符为 $$ 
drop procedure if exists wk; // 删除 已有的 存储过程 
create procedure wk()      //  创建新的存储过程 
begin
declare i int;          // 变量声明 
set i = 1;      
while i < 11 do           // 循环体 
insert into user_profile (uid) values (i); 
set i = i +1; 
end while; 
end $$               // 结束定义语句 
 
// 调用 
 
delimiter ;          // 先把结束符 回复为; 
call wk();

delimter : mysql 默认的 delimiter是; 告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。

这里使用 delimiter 重定义结束符的作用是: 不让存储过程中的语句在定义的时候输出。

2.REPEAT 循环:

delimiter // 
drop procedure if exists looppc; 
create procedure looppc() 
begin
declare i int; 
set i = 1; 
 
repeat 
insert into user_profile_company (uid) values (i+1); 
set i = i + 1; 
until i >= 20 
 
end repeat; 
 
 
end // 
 
---- 调用 
call looppc()

3.LOOP 循环:

delimiter $$ 
drop procedure if exists lopp; 
create procedure lopp() 
begin
declare i int ; 
set i = 1; 
 
lp1 : LOOP              // lp1 为循环体名称 LOOP 为关键字insert into user_profile (uid) values (i); 
set i = i+1; 
 
if i > 30 then
leave lp1;              // 离开循环体 
end if; 
end LOOP;              // 结束循环 
end $$

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL 存储过程写法如下所示: CREATE PROCEDURE procedure_name (IN param1 datatype1, IN param2 datatype2, ..., OUT result_name datatype) BEGIN -- 存储过程的处理逻辑 -- 可以使用 IF、CASE、LOOP、WHILE 等语句 -- 最后将结果存储到 result_name 中 END; 其中,procedure_name 为存储过程的名称,param1、param2 等为存储过程的输入参数,result_name 为存储过程的输出参数。在 BEGIN 和 END 之间编存储过程的处理逻辑,最后将结果存储到输出参数中,以便后续使用。 ### 回答2: MySQL存储过程是一组预先编译好的SQL语句。它们被存储在数据库中,并可以通过调用来执行。MySQL存储过程写法如下: 1. 创建存储过程: 使用 `CREATE PROCEDURE` 语句创建存储过程。例如,如果要创建一个名为 `myprocedure` 的存储过程,可以使用以下语法: ``` CREATE PROCEDURE myprocedure() BEGIN -- 存储过程的SQL语句 -- ... END; ``` 2. 存储过程参数: 存储过程可以接受输入参数和输出参数,以便传递数据。以下是定义存储过程参数的语法: ``` CREATE PROCEDURE myprocedure(IN input_param INT, OUT output_param INT) BEGIN -- 使用 input_param 和 output_param 进行操作 -- ... END; ``` 在存储过程中使用 `IN` 关键字定义输入参数,并使用 `OUT` 关键字定义输出参数。 3. 存储过程内容: 在 `BEGIN` 和 `END` 关键字之间,可以编一系列SQL语句来定义存储过程的功能。这些语句可以包含条件、循环、查询和其他SQL操作。 例如,以下存储过程通过将两个参数相加,并将结果存储到输出参数中: ``` CREATE PROCEDURE myprocedure(IN a INT, IN b INT, OUT result INT) BEGIN SET result = a + b; END; ``` 4. 调用存储过程: 要调用存储过程,可以使用 `CALL` 语句,后跟存储过程的名称和参数列表。例如,调用上面创建的存储过程可以使用以下语法: ``` CALL myprocedure(3, 4, @output); ``` 在这个例子中,存储过程的输入参数分别为3和4,结果存储在 `@output` 变量中。 以上是MySQL存储过程的一般写法存储过程为我们提供了一种方便的方式来存储和执行复杂的数据库操作,提高了数据库的可维护性和可重用性。 ### 回答3: MySQL存储过程是一组预先编译的SQL语句,通过调用存储过程来执行这些SQL语句MySQL存储过程具有以下写法: 1. 创建存储过程: 使用CREATE PROCEDURE语句创建存储过程,语法如下: CREATE PROCEDURE procedure_name ([parameter_list]) [characteristics] stored_procedure_body 其中,procedure_name是存储过程的名称,parameter_list是存储过程的参数列表,characteristics是字符集、安全性等特性,stored_procedure_body是存储过程的具体实现代码。 2. 删除存储过程: 使用DROP PROCEDURE语句删除存储过程,语法如下: DROP PROCEDURE [IF EXISTS] procedure_name 其中,procedure_name是要删除的存储过程的名称。IF EXISTS是可选的,表示当存储过程不存在时不会产生错误。 3. 编辑存储过程: 使用ALTER PROCEDURE语句编辑存储过程,语法如下: ALTER PROCEDURE procedure_name ([parameter_list]) [characteristics] stored_procedure_body 其中,procedure_name是要编辑的存储过程的名称,parameter_list是存储过程的参数列表,characteristics是字符集、安全性等特性,stored_procedure_body是存储过程的新实现代码。 4. 执行存储过程: 使用CALL语句执行存储过程,语法如下: CALL procedure_name([parameters]) 其中,procedure_name是要执行的存储过程的名称,parameters是存储过程的参数列表。 总结来说,MySQL存储过程写法包括创建、删除、编辑和执行四个步骤。创建存储过程使用CREATE PROCEDURE语句,删除存储过程使用DROP PROCEDURE语句,编辑存储过程使用ALTER PROCEDURE语句,执行存储过程使用CALL语句。同时,存储过程可以带有参数,通过参数列表进行传递。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值