IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Oracle数据库 存储过程 -> 正文阅读

[大数据]Oracle数据库 存储过程

1.什么是存储过程


PLSQL是将一个个PLSQL的业务处理过程存储起来进行复用,这些被存储起来的PLSQL程序称之为存储过程。

2.存储过程的语法

// 创建存储过程的语法
create or replace procedure 存储过程名称 [(参数列表)] is
begin
  执行语句
end [过程名称];

// 调用存储过程的语法
begin
  存储名称;
end;

// 删除存储过程
drop procedure 存储过程名称;

3.存储过程的分类

  • 无参的存储过程
create or replace procedure 存储过程名称 is
begin
  执行语句
end;
  • 带有输入参数的存储过程
create or replace procedure 存储过程名称(输入参数 in 参数类型) is
begin
  执行语句
end;
  • 带有输出参数的存储过程
create or replace 存储过程名称(输出参数 out 参数类型) is
begin
  执行语句
end;
  • 扩展:带有输入参数和输出参数的存储过程
create or replace 存储过程名称(输入参数 in 参数类型,输出参数 out 参数类型) is
begin
  执行语句
end;

4.存储过程的相关练习

练习1:创建查询emp表中empno为7788员工的姓名的存储过程(无参存储过程)

// 1.创建查询的存储过程
create or replace procedure test001 is
v_ename emp.ename%type;
begin
  select ename into v_ename from emp where empno=7788;
  dbms_output.put_line(v_ename);
end;

// 2.调用该存储过程
begin
  test001;
end;

练习2:根据员工编号查询员工姓名(带输入参数的存储过程)

// 1.创建查询的存储过程
create or replace procedure test002(v_empno in emp.empno%type) is
v_ename emp.ename%type;
begin
  select ename into v_ename from emp where empno=v_empno;
  dbms_output.put_line(v_ename);
end;

// 2.调用该存储过程
begin
  test002(7788);
end;

练习3:创建输出emp表中的员工名称的存储过程(带输出参数的存储过程)

// 1.创建存储过程
create or replace procedure test003(v_ename out emp.ename%type) is
begin
  select ename into v_ename from emp where empno=7788;
end;

// 2.调用
declare
  v_ename emp.ename%type;
begin
  test003(v_ename);
  dbms_output.put_line(v_ename);
end;

练习4:根据输入的员工编号查询该员工(如:7839号员工)信息,将该员工的姓名、薪水作为返回值输出

// 1.创建存储过程
create or replace procedure test004(v_empno in emp.empno%type,v_ename out emp.ename%type,v_sal out emp.sal%type) is
begin
  select ename,sal into v_ename,v_sal from emp where empno=v_empno;
end;

// 2.调用
declare
  v_ename emp.ename%type;
  v_sal emp.sal%type;
begin
  test004('&员工编号',v_ename,v_sal);
  dbms_output.put_line(v_ename);
  dbms_output.put_line(v_sal);
end;
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-19 11:57:30  更:2021-10-19 11:59:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:25:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码