文档章节

oracle 存储过程基础

陈爱茹cx1992
 陈爱茹cx1992
发布于 2016/07/26 17:34
字数 368
阅读 1
收藏 0
-- 1、创建简单存储过程,将学生年龄都改为10
    create or replace procedure update_students
    as
    begin update students set student_age = 10;
    commit;
    end update_students;
-- 2、查看存储过程在数据字典中的信息
   select object_name,object_type,status from user_objects where object_name='UPDATE_STUDENTS'
-- 3、查看创建存储过程sql
   select * from user_source where name='UPDATE_STUDENTS';
-- 4、调用
   call update_students();
   
   /** 存储过程的参数分为 in传入参数,out 传出参数, in out 传入传出参数**/
-- A:创建 in参数类型 的存储过程
  --eg1 要求:创建按传入的值修改学生年龄的存储过程
  create or replace procedure update_students_in(in_age in number)
  as
  begin
    update students set student_age = in_age;
    commit;
  end update_students_in;
  -- 执行,将学生年龄改为12
  call update_students_in(12);
  -- 查询STUDENTS,看是否修改成功
  select * from STUDENTS t;

    -- (说明in参数不可修改)举例当尝试修改in参数的值时会报错!
    create or replace procedure update_students_in(in_age in number)
    as
    begin
      update students set student_age = in_age;
      in_age :=in_age+10;
      commit;
    end update_students_in;

-- B:创建 out参数类型 的存储过程
   --要求:返回学生id=1的修改后的年龄
   create or replace procedure update_students_out(in_age in number,out_age out number) as
   begin
     update students set student_age = in_age;
     select student_age into out_age from students where student_id = 1;
     commit;
    end update_students_out;
    
    -- 测试
    declare 
    out_updatedAge number;
    begin
     update_students_out(20,out_updatedAge);
       dbms_output.put_line(out_updatedAge);
    end;
    
-- C:in out 参数:交换两个变量的值
  create or replace procedure swap(in_out_param1 in out number, in_out_param2 in out number)
  as
  begin
    declare v_param number;
    begin
      v_param := in_out_param1;
      in_out_param1:=in_out_param2;
      in_out_param2 := v_param;
     end;
   end;
   -- 测试
   declare
    param1 number:=25;
    param2 number:=55;
    begin
           swap(param1,param2);
           dbms_output.put_line('param1=' || param1);
           dbms_output.put_line('param2=' || param2);
    end;

本文转载自:http://blog.csdn.net/ruru7989/article/details/12348875

共有 人打赏支持
陈爱茹cx1992
粉丝 0
博文 59
码字总数 0
作品 0
济南
程序员
私信 提问
Winform开发框架之存储过程的支持--存储过程的实现和演化提炼(1)

在我前面很多篇关于框架设计和介绍的文章里面,大多数都是利用框架提供的基础性API进行各种的操作,包括增删改查、分页等各种实现和其衍生的实现,而这些实现绝大多数是基于SQL的标准操作实现...

walb呀
2017/12/04
0
0
Oracle如何平衡“软+硬”之道?

  【IT168旧金山特别报道】“Oracle是一家非常重视研发的企业,每年大概有50亿美元的研发投入。无论数据库,还是ERP或CRM等产品,Oracle都希望实现同类最佳,也就是Oracle一直贯彻的 ‘同类...

it168网站
2014/04/02
0
0
SAS学习笔记

SAS编程语言 学习一门语言重要的是打好语法基础,所以,从最基础的开始。 逻辑库是SAS编程语言的一个重要知识点,是数据步和过程步读取数据集或关系数据库中的表或者存储路径下对应文件的桥梁...

开拓者-2017
2015/12/24
69
2
oracle常见基础知识

oracle使用的脚本语言称为什么? PL-SQL oracle中游标的分类? oracle中游标分为两类:显示游标和隐式游标 oracle中function与procedure的区别? (1) function一定要有返回值,但procedure不...

Gong_Chen
2016/04/04
84
0
ORACLE JOB 使用基础

一、ORACLE JOB概述 定时在后台执行相关操作。 例如:每天晚上点将一张表的数据保存到另一张表中;定时备份数据库等操作。 二、创建ORACLE JOB 1、 创建表 /1、创建表/ create table job_ta...

battier
2011/07/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

短视频App开发:短视频爆发式增长

短视频领域依旧热闹非凡,众多巨头纷纷布局短视频领域,推动市场格局的新变化。迹象显示,行业企业正纷纷瞄准AI(人工智能)及5G契机进行布局,力图获得下一步发展优势。 短视频市场火爆 竞争...

ThinkSNS账号
6分钟前
0
0
图形用户界面和交互输入方法---交互式构图技术

基本的定位方法 拖拽 约束 网格 橡皮条方法

中国龙-扬科
13分钟前
0
0
Win10:键盘任一键实现了 “一键开机”

微软自 Windows 10 系统起,默认自己的系统都开始支持“快速开启”。实质上就是“快速开机”的功能。 此功能的特点是:对于装载了 Windows 10 的电脑,开机时,只需要轻轻按一下键盘上的任意...

LivingInFHL
30分钟前
0
0
vue-router的HTML5 History 模式设置

VUE是当下最火爆的前端框架之一,vue-router是vue项目中几乎都会用到的组件,然而体验一时爽,其实坑不少。本篇经验将详细介绍vue-router的两种mode效果和开发测试环境下的问题,并给出解决方...

peakedness丶
35分钟前
1
0
Dubbo 源码分析 - 服务引用

1. 简介 在上一篇文章中,我详细的分析了服务导出的原理。本篇文章我们趁热打铁,继续分析服务引用的原理。在 Dubbo 中,我们可以通过两种方式引用远程服务。第一种是使用服务直联的方式引用...

小刀爱编程
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部