
oracle的存储过程和存储函数
创建一个给某个员工加特定工钱的存储过程:
创建一个查询某个员工的年薪的存储函数:
发布日期:2021-05-08 13:40:49
浏览次数:22
分类:精选文章
本文共 1070 字,大约阅读时间需要 3 分钟。
存储过程
存储过程实际上是封装在服务器上的一段PLSQL代码片段(已经编译好了的代码)。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

-- empid是用户输入的指定的员工id-- insal是用户输入的指定的涨薪多少-- currentsal是员工涨薪钱的目前工资create or replace procedure cc1(empid in number,insal in number)is currentsal number;begin select sal into currentsal from emp1 where id=empid; dbms_output.put_line('his sal before is '||currentsal||'$'); update emp1 set sal=sal+insal where id=empid; dbms_output.put_line('his sal after is '||(insal+currentsal)||'$'); commit;end;
存储过程的调用
-- 第一种call 存储过程名(参数1, 参数2···);-- 第二种declarebegin 存储过程名(参数1, 参数2···);end;
call cc1(1005,3000);
存储函数
存储函数和存储过程基本都差不多,只是存储函数有返回值,存储过程没有。

存储函数的调用
declare 变量1 类型;begin 变量1:=存储函数名(参数1,参数2···); dbms_output.put_line(变量1);end;
范例:

-- 输入参数的in标识可以省略create or replace function emptotalsal(empid number) return numberis fullyearsal number;begin select sal*12+nvl(bonus,0) into fullyearsal from emp1 where id=empid; return fullyearsal;end;
-- 调用存储函数emptotalsaldeclare e number;begin e:=emptotalsal(1007); dbms_output.put_line(e);end;
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年03月24日 09时10分17秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
vscode 编辑python 如何格式化
2021-05-09
seo 回忆录百度基本概念(一)
2021-05-09
重新整理数据结构与算法(c#)—— 算法套路二分法[二十四]
2021-05-09
用ThreadLocal来优化下代码吧
2021-05-09
netcore中使用session
2021-05-09
Android 开发学习进程0.25 自定义控件
2021-05-09
多媒体文件格式全解说(下)--图片
2021-05-09
淘宝WAP版小BUG分析
2021-05-09
NodeJS+Express+MongoDB
2021-05-09
(四十四)c#Winform自定义控件-水波-HZHControls
2021-05-09
c#winform主题实现的一个方法
2021-05-09
asp.net打印网页后自动关闭网页【无需插件】
2021-05-09
一个人开发的html整站源码分享网站就这么上线了
2021-05-09
SQLServer 查看耗时较多的SQL语句(转)
2021-05-09
【计算机网络】应用层
2021-05-09
【Maven】POM基本概念
2021-05-09
【Java思考】Java 中的实参与形参之间的传递到底是值传递还是引用传递呢?
2021-05-09
【设计模式】单例模式
2021-05-09
【SpringCloud】Hystrix熔断器
2021-05-09