`
234390216
  • 浏览: 10239317 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:462920
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1776045
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1398792
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:395164
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:680182
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:531179
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1185116
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:468890
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:151507
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:68370
社区版块
存档分类
最新评论

Oracle——14存储过程

阅读更多

 


存储过程是存放在数据字典中的程序块,它可以在不同用户和应用程序间共享,并可实现程序的优化和重用。

 

一、存储过程的创建和执行

1、利用SQL命令创建存储过程

语法格式如下:

 

		create [or replace] procedure [schema.]procedureName[(param1 mode1 dataType1,...n)]
			is | as
        var1 type1;
        var2 type2;
        ...
			begin
				statements; /*过程体,要执行的操作*/
			end;

 

其中,mode1表示参数的类型,跟方法的参数一样,有in、out和in out三种类型;dataType1表示参数的数据类型。

示例代码:

 

		create or replace procedure getModuleName(mid in number,mname out varchar)
		  as
		  begin
			select name into mname from t_module where id=mid;
		  end;

 

 

2、调用存储过程

语法格式如下:

 

		exec[ute] procedureName[(param1,...n)] /*这是在命令窗口可以这样执行*/

 

注:

直接输入一个存储过程的名字也可以执行一个已定义的存储过程

示例代码:

 

		declare
		  mid number := 15;
		  mname varchar(20);
		begin
		  GETMODULENAME(mid,mname);
		  dbms_output.put_line(mname || ' ********ModuleName');
		end;

 

 

 

二、存储过程的编辑修改

修改存储过程和修改视图一样,虽然也有alter procedure 语句,但它是用来重新编译存储过程的。如果要修改已经定义的存储过程,仍然使用create or replace procedure语句。

例如,修改上面的getmodulename存储过程如下:

 

	create or replace procedure getModuleName(mid in number,mname out varchar)
	  as
	  begin
		if mid > 0 then
			select name into mname from t_module where id=mid;
		else
			mname := null;
		end if;
	  end;
	

 

 

 

三、删除存储过程

当某个存储过程不再需要时,可以将它删除,以释放其占用的内存资源。

语法格式如下:

 

		drop procedure [schema.]procedureName;

 

例如删除getmodulename存储过程如下:

 

		drop procedure getmodulename;
4
1
分享到:
评论

相关推荐

    Oracle定时执行存储过程

    Oracle 定时执行存储过程 Oracle 定时执行存储过程是一种高效的方式来执行存储过程,通过使用 Oracle 提供的 job 机制来实现。Job 机制允许开发者创建、计划和执行存储过程,实现自动化和批量处理。 Broken() ...

    深入浅出Oracle——DBA 入门、 进阶与诊断案例

    《深入浅出Oracle——DBA入门、进阶与诊断案例》是盖国强先生的一本经典著作,专门针对Oracle数据库管理进行深入讲解。这本书对于想要成为Oracle DBA(数据库管理员)或者希望提升自己在Oracle数据库管理技能的人来...

    oracle存储过程解锁

    这个标签强调了主题的核心——在Oracle数据库中解锁存储过程的技术。它指向了一系列具体的步骤和技术,旨在帮助数据库管理员和开发人员解决存储过程锁定的问题,确保数据库的稳定运行和高效率。 ### 部分内容:SQL...

    经典:循序渐进Oracle——- 数据的存储

    以下是对"经典:循序渐进Oracle——- 数据的存储"这一主题的详细解析: 1. **物理及逻辑结构** Oracle数据库采用层次化的存储结构,包括物理层和逻辑层。逻辑层主要由表空间、数据文件、表、分区和索引等组成,...

    EasyDB for Oracle——基于阿里云的Oracle最佳实践.pdf

    【标题】:“EasyDB for Oracle——基于阿里云的Oracle最佳实践” 【描述】:“EasyDB for Oracle是基于阿里云的一项服务,旨在提供Oracle数据库的最佳实践。它关注信息保护、数据脱敏、硬件攻防、边界防御以及Web...

    深入浅出Oracle——DBA 入门进阶与诊断案例

    《深入浅出Oracle——DBA入门进阶与诊断案例》这本书是针对Oracle数据库管理员(DBA)的入门到高级学习资源,旨在帮助读者掌握Oracle数据库管理的核心技术和实践技巧。Oracle数据库是全球广泛使用的大型企业级数据库...

    帆软报表Oracle存储过程解决storeParameter1参数试用插件

    在帆软报表的设计过程中,当用户尝试调用一个Oracle数据库中的存储过程时,可能会遇到一个问题:即使存储过程本身并未声明任何输入或输出参数,设计界面仍会提示需要提供一个名为"storeParameter1"的参数。...

    Oracle通用数据库存储过程代码--高效分页存储过程

    ### Oracle通用数据库存储过程代码——高效分页存储过程解析 #### 标题解析 标题“Oracle通用数据库存储过程代码——高效分页存储过程”表明这是一个适用于Oracle数据库的存储过程,主要用于实现高效的分页查询功能...

    Oracle——sql语句优化

    由于B树索引不存储NULL值,因此IS NULL/IS NOT NULL操作符很难利用索引加速查询。尤其是在大型数据库中,这可能导致显著的性能损失。 **推荐方案**:考虑使用逻辑表达式(如a > 0或a > '')替代IS NOT NULL检查;...

    管理信息化ORACLEOracle——错误一览表任务用.pdf

    Oracle数据库是企业级关系型数据库管理系统,用于存储和管理大量结构化数据。在日常管理和运维过程中,可能会遇到各种错误,这些错误通常以ORA-开头的错误代码形式出现,便于识别和解决问题。以下是一些常见的Oracle...

    Oracle触发器与存储过程高级编程(chm)

    在Oracle数据库中,触发器和PL/SQL存储过程是两个重要的编程元素,它们用于实现复杂的数据管理和业务逻辑。 **触发器(Triggers)** 触发器是一种数据库对象,它在特定的数据库事件(如INSERT、UPDATE或DELETE)...

    ORACLE 游标 异常 存储过程

    在Oracle数据库中,游标(Cursor)是一种非常重要的概念,特别是在编写存储过程和函数时。游标允许我们处理单行或多行数据集,一次处理一行,这样可以进行精细化的数据操作。在本篇讨论中,我们将深入理解Oracle游标...

    Oracle存储过程、函数和包

    ### Oracle存储过程、函数和包的关键知识点 #### 1. 存储过程和函数的认识 - **定义**:存储过程和函数是特定类型的PL/SQL块,它们被存储在数据库中,作为命名的对象存在。 - **命名存储**:与普通的PL/SQL块不同,...

    Oracle触发器与存储过程高级编程

    在深入探讨《Oracle触发器与存储过程高级编程》这一主题之前,我们首先应当明确Oracle数据库在企业级应用中的核心地位。Oracle数据库以其强大的数据处理能力、高可用性和安全性,成为众多大型企业和组织首选的数据...

    oracle数据库常见命令

    导入数据是将之前通过`exp`命令导出的数据重新加载到Oracle数据库中的过程。下面是一些常用的导入命令及步骤: - **准备步骤**: 1. **创建表空间**:在导入数据之前,通常需要创建一个新的表空间用于存放导入的...

    韩顺平Oracle笔记——数据库管理员

    ### 韩顺平Oracle笔记——数据库管理员 #### 数据库管理员(DBA)的角色与职责 在Oracle数据库环境中,数据库管理员(DBA)扮演着至关重要的角色。他们负责确保数据库系统的稳定性和性能,同时还需要保障数据的安全...

    Oracle经典教程1——走进Oracle

    ### Oracle经典教程1——走进Oracle #### Oracle简介 Oracle是一种基于对象的关系型数据库管理系统,它由美国甲骨文公司开发并维护。Oracle数据库系统因其高度可靠性和强大的数据处理能力而闻名,广泛应用于各种...

    Oracle入门——oracle的基础入门知识,适合初学者。

    这有助于他们建立起对数据库管理系统的初步认识,为进一步学习更高级的Oracle功能,如存储过程、触发器、索引优化、备份恢复等打下基础。通过逐步深入学习,初学者可以掌握如何创建和管理用户、配置数据库实例、确保...

    一个缴费的存储过程——过程

    一个缴费的存储过程。。。。。。。。。。。。。。。。。。。。。。。。

Global site tag (gtag.js) - Google Analytics