orcale存储过程,无参数,输入参数,输出参数,输出入参数的存储过程

2023-10-19 04:08

本文主要是介绍orcale存储过程,无参数,输入参数,输出参数,输出入参数的存储过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

--存储过程  存储过程+包   包+包体
select * from emp;
--1.无参数的存储过程
create or replace procedure sp_emp_proc
 as
--声明语句段
v_name varchar2(200);
begin
--执行语句段
       select ename into v_name from emp where empno=7788;
       dbms_output.put_line(v_name);
       exception
         --异常处理语句段
         when NO_DATA_FOUND  then dbms_output.put_line('NO_DATA_FOUND');
end;
--执行存储过程
declare 
 begin
   sp_emp_proc;--无参数的存储过程 在命令窗口exec sp_emp_proc;
 end;
 
 --2.带输入参数的存储过程
 create or replace procedure  sp_emp_proc_in
 (v_id in emp.empno%type)
as
 --声明语句段
 v_name varchar2(200);
begin
--执行语句段
 select ename into v_name from emp  where empno=v_id;


 dbms_output.put_line(v_name);
       exception
         --异常处理语句段
         when no_data_found  then dbms_output.put_line('NO_DATA_FOUND');
end;


--执行存储过程
declare 
v_id  emp.empno%type:=7499;
begin
  sp_emp_proc_in(v_id);
  end;
--3.带输出参数
create or replace procedure sp_emp_proc_out
(v_name out emp.ename%type)
as
--声明语句段
begin
  --执行语句段
  select ename into v_name from emp where empno=7499;
  dbms_output.put_line(v_name);
  exception
    --异步处理语句
    when no_data_found then dbms_output.put_line('NO_DATA_FOUND');
end;


--执行存储过程
declare
v_name nvarchar2(200);
begin
  sp_emp_proc_out(v_name);
end;


--3.带输出和带输入的存储过程
create or replace procedure sp_emp_proc_in_out
(
eno in number,
salary out number
)
as
begin
       select sal into salary from emp where empno=eno;
       exception
         when no_data_found then dbms_output.put_line('没有找到该编号的员工');  
end;


--执行存储过程
declare
salary number(7,2);
begin
  sp_emp_proc_in_out(7788,salary);
  dbms_output.put_line(salary);
end;


 

这篇关于orcale存储过程,无参数,输入参数,输出参数,输出入参数的存储过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/237182

相关文章

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优