admin 管理员组文章数量: 887021
存储过程!
存储过程
一:什么是存储过程?
- 存储过程是一种在数据库中一组特定SQL语句的语句集。
- 一次编译,永久有效。
- 将一些复杂,重复的SQL语句封装起来,以后多次执行。
- 类似于java中的方法,一组预先编译好的sql语句的集合理解成批量处理语句。
- 减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率
二:MySQL定义存储过程
2.1创建的语法
create procedure 存储过程名(参数列表)begin -- 表示着开始存储过程体(一组合法的SQL语句)end -- 表示着结束
-
注意点:如果带有参数列表的话
1.参数列表中将包含三部分:
参数模式 参数名 参数类型 -
参数模式:
in:代表该参数可以作为输入,也就是说该参数需要调用方传入值。
out:代表该参数可以作为输出,也就是说该参数可以作为返回值。
inout:代表该参数既可以作为输入,也可以作为输出,也就是该参数既需要传入参数,也可以返回。 -
如果begin end中只有一条sql语句,可以省略begin end。
-
存储过程体中的每条SQL语句的结尾要求必须要加分号。
2.2调用的语法
-- 调用语法:call 存储过程名(实参列表);
2.3存储过程实际案例:
-- 创建: 无参delimiter $create procedure myp1()begininsert into admin(username,`password`) values('join',0001),values('jack',0002),values('zhangsan',0003),values('zhaoliu',0004),values('wangwu',0005);end $-- 调用call myp1()$-- 删除drop procedure myp1;
三:Oracle存储过程
3.1创建的语法
-- 创建存储过程
create procedure add_dog( -- 方法名p_did number, -- 参数1 p_dname varchar2, --参数2 后面不能接具体长度 不能写varchar2(20) 类似的p_dage number -- 最后一个参数不需要使用逗号
)
is
begin-- 方法体
end add_dog; -- 代表结束
- 注意点:
- 参数后面不能接具体长度 不能写varchar2(20) 类似的.
- 最后一个参数不需要使用逗号。
3.2 调用存储过程
-- 调用
beginadd_dog(111,'张三',30);
end;
3.3存储过程实际案例
-- 创建存储过程
create procedure add_dog(p_did number,p_dname varchar2,p_dage number
)
is
begin-- 方法体insert into dog values(p_did,p_dname,p_dage);
end add_dog;-- 删除存储过程
drop procedure add_dog;-- 调用
beginadd_dog(111,'张三',30);
end;
Oracle带参存储过程
create procedure up_sel_dog(p_did number,p_dname varchar2,p_dage number,p_result out varchar2 -- out 代表是返回值
)
is
beginupdate dog set dname = p_dname , dage = p_dage where did = p_did;select dname into p_result from dog where did = p_did;
end up_sel_dog;drop procedure up_sel_dog;-- 调用
declarev_result varchar2(20);
begin up_sel_dog(111,'小四',70,v_result);dbms_output.put_line(v_result);
end;
本文标签: 存储过程
版权声明:本文标题:存储过程! 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1686945572h49732.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论