栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

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;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/336074.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号