看一个例子
这个例子使用元素比较多,解释一下:
COMMENT为表添加了一句注释;
-- 单行注释,注释跟在后面的内容,需要注意-- 后需要加一个空格才能生效;
(#注释内容 /*注释内容*/ 这两种方法也能进行注释)
Declare用来声明变量,一句declare只能声明一个变量,变量必须先声明后使用
If...Then是进行条件判断的,基本语句如下:
If ... Then ... Else ... End If
这个存储过程完成了订单合计,并判断该订单是否需要增加营业税。taxable是一个布尔值(如果要增税为真,否则为假)。在存储体中定义了两个局部变量。并将结果存储到局部变量total中。if语句检查taxable是否为真,如果为真,则用另一条select语句增加营业税。最后将total结果保存到ototal中。
调用结果如下:
检查存储过程
SHOW CREATE PROCEDURE 过程名
为了获得包括何时、由谁创建等详细信息的存储过程列表,使用
Show procedure status -- 会列出所有存储过程
可以添加过滤,比如
存储过程循环语句
1. while
WHILE (表达式) DO
...
END WHILE
看一个例子
创建了一个循环存储过程,重复向human插入5条记录。下面调用看一下结果
2.repeat
基本语句:
Repeat ...until 条件...END Repeat;
同样 *** 作,使用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条)