Oracle存储过程和存储函数创建方法(详解)
发布时间 - 2026-01-11 01:55:32 点击率:次select * from emp;

-----------------存储过程------------------------
--定义
create[or replace] procedure 存储过程名称(参数名 [in]/out 数据类型)
is/as
begin
--逻辑表达式
end [存储过程名称];
--定义存储过程计算年薪,并答应输出
create or replace procedure proc_salyears(v_no in number)
is
sal_years number(9,2);
begin
--计算年薪
select sal*12+nvl(comm,0) into sal_years from emp where empno=v_no;
--输出
dbms_output.put_line(sal_years);
end;
--调用存储过程
方式1:
call proc_salyears(7788);
方式2:
begin
proc_salyears(7369);
end;
--out参数的存储过程
--计算年薪并返回
create or replace procedure proc_salyears(v_no in number,sal_years out number)
is
begin
--计算年薪
select sal*12+nvl(comm,0) into sal_years from emp where empno=v_no;
end;
--调用存储过程
declare
v_sal number(9,2);
begin
proc_salyears(7876,v_sal);
dbms_output.put_line(v_sal);
end;
-----------------存储函数------------
--定义
create or replace function 存储函数名(参数名 in/out 数据类型)
return 数据类型
is|as
begin
return 具体的数据;
end [存储函数名称];
--定义存储函数名计算年薪
create or replace function fun_salyears(f_no number)
return number
is
sal_years number(9,2);
begin
select sal*12+nvl(comm,0) into sal_years from emp where empno=f_no;
return sal_years;
end ;
--使用存储函数
declare
sal_yeats number(9,2);
begin
sal_yeats := fun_salyears(7876);
dbms_output.put_line(sal_yeats);
end;
--可简写
begin
dbms_output.put_line(fun_salyears(7369));
end;
--------存储过程和存储函数的区别--------
存储过程多用于项目之间的数据共享,存储函数多被存储过程调用.
存储函数可以再sql语句中调用,存储过程不能.
# Oracle存储过程和存储函数创建
# Oracle存储过程基本语法介绍
# oracle 存储过程和函数例子
# oracle 存储过程详细介绍(创建
# 删除存储过程
# 参数传递等)
# Oracle中返回结果集的存储过程分享
# Oracle存储过程及调用
# Oracle存储过程返回游标实例详解
# oracle 在一个存储过程中调用另一个返回游标的存储过程
# Oracle存储过程入门学习基本语法
# oracle数据库中查看系统存储过程的方法
# Oracle存储过程新手入门教程(附学习用例)
# 存储过程
# replace
# procedure
# create
# nbsp
# number
# sal_years
# v_no
# br
# proc_salyears
# span
# style
# select
# emp
# color
# background
# ccffcc
# strong
# function
# declare
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何实现本地化和多语言支持?(i18n教程)
Laravel怎么使用Intervention Image库处理图片上传和缩放
Laravel模型事件有哪些_Laravel Model Event生命周期详解
历史网站制作软件,华为如何找回被删除的网站?
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
如何快速打造个性化非模板自助建站?
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
智能起名网站制作软件有哪些,制作logo的软件?
如何在服务器上配置二级域名建站?
如何在IIS服务器上快速部署高效网站?
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
网站建设要注意的标准 促进网站用户好感度!
如何用AI帮你把自己的生活经历写成一个有趣的故事?
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
如何在建站主机中优化服务器配置?
Laravel如何保护应用免受CSRF攻击?(原理和示例)
JavaScript数据类型有哪些_如何准确判断一个变量的类型
Laravel如何处理和验证JSON类型的数据库字段
香港服务器租用费用高吗?如何避免常见误区?
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
Thinkphp 中 distinct 的用法解析
如何自定义建站之星网站的导航菜单样式?
javascript如何操作浏览器历史记录_怎样实现无刷新导航
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
如何在服务器上三步完成建站并提升流量?
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
如何快速生成凡客建站的专业级图册?
jQuery 常见小例汇总
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
微信小程序 闭包写法详细介绍
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
如何快速上传建站程序避免常见错误?
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
如何在香港免费服务器上快速搭建网站?
制作旅游网站html,怎样注册旅游网站?
如何获取上海专业网站定制建站电话?
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
三星网站视频制作教程下载,三星w23网页如何全屏?
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
Android仿QQ列表左滑删除操作
Python文件操作最佳实践_稳定性说明【指导】
如何在阿里云通过域名搭建网站?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
微信小程序 input输入框控件详解及实例(多种示例)
如何在IIS中新建站点并配置端口与IP地址?
如何确保西部建站助手FTP传输的安全性?

