标签:oop 技术分享 elseif 中间 使用 bsp http 字符串类型 数据库连接
一、使用情况
对于复杂业务,需要使用存储过程。
对于简单sql无法解决问题的时候使用存储过程。
操作大量表的时候。
二、优缺点
优点:1、减少访问数据库连接次数,这是数据库执行效率需要考虑的一个重点。
2、易维护,相对于复杂的程序代码,直接修改存储过程,更加快捷。
3、存储过程,只在创建时进行编译,之后就不用编译了。而普通sql,每次执行都需要编译(因为他们和代码放在一起)。
4、减轻编码工作,可以少些很多代码。
缺点: 1、开发调试不方便,相对于程序代码,存储过程打断点进行调试,只能开发者去查看存储过程。
2、如果需要使用中间数据,则不能使用存储过程。
3、编写比较困难,有许多固定格式需要注意。
4、移植性差,不同数据库厂家,存储过程的语法不同。
三、创建语法
BEGIN
过程体
END
//
DELIMITER;
说明:
1、存储过程名:pro_**
2、参数:参数有三种类型。
IN: 输入参数。调用该存储过程,必须附带该参数
OUT: 输出参数。调用该存储过程后,返回的结果。
INOUT: 输入输出参数。结合IN、OUT特性
格式:OUT p_out int。p_out为参数名称,int为参数类型。 参数类型
3、存储过程参数
相当于java的变量,用于存储过程中的使用。
格式:declare param_name type(参数类型)
例子:declare total decimal(8) default 6;
4、过程体
4.1 可以写多个SQL语句。封号“;”隔开
INSERT INTO table1 VALUES (variable1);
select Sum(item_price*quantity) from orderitems where order_num = onumber
4.2 使用存储过程参数
SQL into 参数
SET 变量 = “”
例子:select Sum(item_price*quantity) from orderitems >where order_num = onumber into total;
select total into ototal;
SET variable1 = ‘birds‘;
4.3 判断语句
1、if 条件 then SQL elseif SQL else SQL end if;
例子:if taxable then
select total+(total/100*taxrate) into total;
end if;
2、case when 条件 then SQL when 条件 then SQL end case;
例子:case
when var=0 then insert into t values(30);
when var>0 then ...
when var<0 then
end case;
4.4 循环语句
1、while 条件 do SQL end while;
例子:while var<6 do
insertinto t values(var);
set <var=var+1;
end while;
2、 loop SQL end loop;
例子: LOOP
IF v_Hour>23 THEN
v_Hour = 0;
EXIT;
END LOOP;
5、调用存储过程
call 存储过程名称(参数);
6、删除存储过程
drop procedure product;
日期和时间类型
字符串类型
标签:oop 技术分享 elseif 中间 使用 bsp http 字符串类型 数据库连接
原文地址:https://www.cnblogs.com/yorge/p/9343038.html