?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 重定义结束符的作用是: 不让存储过程中的语句在定义的时候输出。
创建 MySQL 存储过程的简单语法为:
?
1
2
3
4
5
6
7
CREATE PROCEDURE 存储过程名称( [in | out | inout] 参数 )
BEGIN
Mysql 语句
END
调用存储过程:
1、while是满足条件才执行循环,repeat是满足条件退出循环;2、while在首次循环执行之前就判断条件,最少执行0次,repeat是在首次执行循环之后才判断条件,循环至少执行一次。
在MySQL中,使用While语句循环与SQLServer中有所不同,代码测试通过。
MSSQL中使用while语句循环生成数据的方法:
示例代码:
复制代码
代码如下:
declare
@a
int
set
@a
=
1
while
@a<25
begin
INSERT
INTO
demotable
(id,item1,item2)
VALUES
(@a,"abc","123")
set
@a
=
@a
+
1
end
MySQL中,使用while循环处理数据方法:需要新建为存储过程,直接调用执行存储过程。
示例代码:
复制代码
代码如下:
CREATE
DEFINER=`root`@`localhost`
PROCEDURE
`NewProcedure`()
BEGIN
DECLARE
i
INT
SET
i=1
WHILE
i<100
DO
INSERT
INTO
demotable
(id,item1,item2)
VALUES
(i,"测试试题","0")
SET
i
=
i
+
1
END
WHILE
END
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)