热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

oracle存储过程是什么

在oracle中,存储过程是为了完成特定功能的SQL语句集,编译后存储在数据库中,用户通过指定存储过程名字并给出参数来执行它;语法格式为“createorreplaceprocedure存储过程名”。

在oracle中,存储过程是为了完成特定功能的SQL语句集,编译后存储在数据库中,用户通过指定存储过程名字并给出参数来执行它;语法格式为“create or replace procedure 存储过程名”。

本教程操作环境:windows7系统、oracle 11.2.0.1.0版,DELL G3电脑。

Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常(可写可不写,要增强脚本的容错性和调试的方便性那就写上异常处理)

存储过程它的使用主要是完成一项复杂的功能,如果直接使用sql语句则每次都需要进行编译,而存储过程只需要编译一次,以后直接调用即可,它的语法为

create or replace procedure procedure_name
as
begin
   extention;
end;
/

行1:

  CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;

行2:

  IS关键词表明后面将跟随一个PL/SQL体。

行3:

  BEGIN关键词表明PL/SQL体的开始。

行4:

  NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句;

行5:

  END关键词表明PL/SQL体的结束

存储过程创建语法:

 create or replace procedure 存储过程名(param1 in type,param2 out type) 
as 
变量1 类型(值范围); --vs_msg   VARCHAR2(4000); 
变量2 类型(值范围);
Begin
Select count(*) into 变量1 from 表A where列名=param1;
 
    If (判断条件) then
       Select 列名 into 变量2 from 表A where列名=param1;
       Dbms_output。Put_line(‘打印信息’);
    Elsif (判断条件) then
       Dbms_output。Put_line(‘打印信息’);
    Else
       Raise 异常名(NO_DATA_FOUND);
    End if;
Exception
    When others then
       Rollback;
End;

注意事项:

1, 存储过程参数不带取值范围,in表示传入,out表示输出

类型可以使用任意Oracle中的合法类型。

2, 变量带取值范围,后面接分号

3, 在判断语句前最好先用count(*)函数判断是否存在该条操作记录

4, 用select 。。。into。。。给变量赋值

5, 在代码中抛异常用 raise+异常名

推荐(免费):oracle

以上就是oracle存储过程是什么的详细内容,更多请关注其它相关文章!


推荐阅读
  • SQL Server 存储过程实践任务(第二部分)
    本文档详细介绍了三个SQL Server存储过程的创建与使用方法,包括统计特定类型客房的入住人数、根据房间号查询客房详情以及删除特定类型的客房记录。 ... [详细]
  • 实现系统调用
    实现系统调用一、实验环境​本次操作还是基于上次编译Linux0.11内核的实验环境进行操作。环境如下:二、实验目标​通过对上述实验原理的认识,相信 ... [详细]
  • 本文介绍了一种有效的方法,可以在保留现有软件和个人数据的情况下,将 Windows 10 LTSC 版本升级到标准的半年更新渠道(SAC)版本。 ... [详细]
  • 彻底卸载Windows系统中的Maya软件指南
    本文详细介绍了在Windows操作系统中如何彻底卸载Maya软件的方法。通过具体的步骤演示,确保用户能够快速、有效地完成卸载过程,避免残留文件影响系统性能。 ... [详细]
  • 在编程实践中,正确管理和释放资源是非常重要的。本文将探讨 Python 中的 'with' 关键字及其背后的上下文管理器机制,以及它们如何帮助我们更安全、高效地管理资源。 ... [详细]
  • 描述了在使用 Opera 6.04 浏览器时遇到的页面无限刷新问题,特别是在登录后页面持续重载的情况。 ... [详细]
  • 本文介绍了如何解决 ChinaASP.Upload 错误 '80040002',即必须添加版权信息的问题,并提供了详细的步骤和注意事项。 ... [详细]
  • 材料光学属性集
    材料光学属性集概述了材料在不同光谱下的光学行为,包括可见光透射率、太阳光透射率等关键参数。 ... [详细]
  • CAD文字输入与调整技巧及快捷键大全
    本文详细介绍了在CAD中输入文字的方法,包括使用快捷键、调整文字大小和格式的技巧,并提供了多个实用的CAD文字处理快捷键。 ... [详细]
  • FL Studio 20.8 中文版进阶教程及安装指南
    FL Studio 20.8 是目前最新版本的音乐制作软件,它能够将您的电脑转变为全面的音乐工作室,配备先进的制作工具,使您的音乐创作超越想象。本文将详细介绍FL Studio 20.8的安装步骤及中文语言切换方法。 ... [详细]
  • 使用C#构建动态图形界面时钟
    本篇文章将详细介绍如何利用C#语言开发一个具有动态显示功能的图形界面时钟。文章中不仅提供了详细的代码示例,还对可能出现的问题进行了深入分析,并给出了解决方案。 ... [详细]
  • 解决Pytesser模块在Windows环境下出现的错误
    本文详细探讨了如何解决在Windows环境中使用Pytesser模块进行OCR(光学字符识别)时遇到的WindowsError错误,提供了具体的解决方案。 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 在 Django 模型中,ForeignKey 的 on_delete 参数定义了当关联对象被删除时,当前模型实例的行为。本文详细解释了 on_delete 的各个选项及其具体作用。 ... [详细]
  • 通过网上的资料我自己的实际内核编译,我把对Linux内核编译的过程写在这里,也许对其他的Linux爱好者的编译学习有些帮助,其中很大部分是 ... [详细]
author-avatar
勇敢的思竹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有