什么是存储过程?
是一个可以用编程的方式来操作SQL的集合。
存储过程的优点?
- 执行效率很高,因为存储过程是预编译的,即创建时编译,而SQL语句是执行一次,编译一次。调用存储过程可以大大减少同数据库的交互次数。
- 降低网络通信量,因为存储过程执行的时候,只需要call存储过程名,不需要传递大量的SQL语句。
- 有利于复用。
存储过程的缺点?
- 移植性非常差,如果在oracle上写的存储过程,移植到mysql需要修改。
- 代码可读性差,实现一个简单的逻辑,代码会非常长。
存储过程的用途?
- 造测试数据:可以使用存储过程,往表里造几百万条数据。
- 数据同步:两个表之间按照一定的业务逻辑进行数据同步。
- 数据挖掘。
存储过程注意事项?
- 数据量大的时候(10万+),一定要做压力测试,有些存储过程在大数据量的情况下才会出现问题。
- 如果插入或者更新的次数比较多,为了提高效率,可以执行一万次,再commit一次。
- 如果先插入记录,没有commit,再对这条记录进行更新,会引起死锁。如果先后对同一笔记录进行更新,又没有commit,也会引起死锁。因为后一条语句会等待前一条语句提交。如果出现这种情况,则需要一条条commit。
- 不要忘记在存储过程里写commit。
相关推荐
《Oracle 9i&10g编程艺术:深入数据库体系结构》是一本专注于Oracle数据库系统核心技术的专著,旨在帮助读者深入理解Oracle数据库的工作原理及其编程技术。这本书涵盖了Oracle数据库的多个关键方面,包括数据库设计...
在Oracle数据库中,触发器和PL/SQL存储过程是两个重要的编程元素,它们用于实现复杂的数据管理和业务逻辑。 **触发器(Triggers)** 触发器是一种数据库对象,它在特定的数据库事件(如INSERT、UPDATE或DELETE)...
本文将详细介绍Oracle存储过程如何返回结果集的方法,并通过具体的例子进行说明。 #### 二、存储过程返回结果集的原理 在Oracle中,存储过程可以通过引用游标(Ref Cursor)来返回结果集。Ref Cursor是一种特殊...
在Java编程中,与Oracle数据库进行交互是常见的需求,尤其是当需要执行复杂的业务逻辑时,我们通常会使用Oracle存储过程。存储过程是预编译的SQL语句集合,它可以提高性能,封装复杂逻辑,并减少网络通信量。本教程...
-- 第一个存储过程 t_c CREATE OR REPLACE PROCEDURE t_c ( name IN VARCHAR2, total OUT NUMBER ) AS BEGIN SELECT SUM(g) INTO total FROM sc WHERE sno = name; END; -- 第二个存储过程 c_n CREATE OR ...
- `java代码`:可能是一个示例程序,演示如何使用Java调用Oracle存储过程。 - `SQL语句`:可能包含了创建存储过程的SQL脚本,以及可能的测试数据插入语句。 - `存储过程`:存储过程的具体定义,通常在Oracle的PL/SQL...
Oracle存储过程是数据库编程的重要组成部分,它允许程序员和数据库管理员编写一系列复杂的SQL和PL/SQL语句,以实现数据处理、业务逻辑或自动化任务。在本篇“Oracle存储过程学习笔记(四)”中,我们将深入探讨存储...
1. **第1章:开发成功的Oracle应用程序** - **1.1 我的方法**:介绍了作者开发Oracle应用程序的方法论。 - **1.2 黑盒方法**:讨论了将Oracle视为黑盒时可能出现的问题及解决方案。 - **1.3 开发数据库应用的正确...
在 Oracle 数据库中,存储过程是一种可编程的对象,用于执行特定的任务。存储过程可以在数据库服务器上运行,从而提高应用程序的性能并减少网络流量。结合日期处理和定时任务 (Job),可以实现复杂的业务逻辑自动化,...
2. **存储过程和函数**:Oracle支持创建自定义的存储过程和函数,这在处理复杂业务逻辑和提高性能方面非常有用。了解如何编写、调用和调试这些程序是高级编程的重要部分。 3. **触发器和游标**:触发器可以在特定的...
// 假设第一个参数是返回值,类型为INTEGER ``` 5. **执行存储过程**:调用`CallableStatement`的`execute()`方法执行存储过程: ```java cs.execute(); ``` 6. **获取返回值**:对于输出参数,执行后可以从`...
Oracle存储过程是由一系列PL/SQL语句组成的可重复使用的代码块,可以在数据库端执行。在Java中调用存储过程主要通过`CallableStatement`接口实现,它是`PreparedStatement`的子接口,专用于调用存储过程和函数。 ...
"Oracle存储过程游标详解" Oracle 存储过程游标是指在 Oracle 数据库中使用游标来实现对结果集的处理和操作。游标可以分为静态游标和REF游标两种类型。静态游标是指结果集已经确实(静态定义)的游标,可以进一步...
综上所述,Oracle存储过程和PL/SQL编程是数据库管理和应用开发中非常重要的技能点。掌握这些技术点,可以帮助开发者编写出更加高效、安全和可维护的数据库应用。在实际应用中,开发者应充分利用存储过程和PL/SQL提供...
《Oracle触发器与存储过程高级编程》电子版,由于单个压缩文件超过20M,所以压缩成了两个包,这是第一个包。
《Oracle 9i&10g编程艺术:深入数据库体系结构》这本书旨在帮助读者深入了解这两个版本的数据库系统,掌握其核心技术和编程技巧。书中的源代码是作者为了辅助解释和演示数据库操作及编程概念而提供的实际示例,对于...
尽管给定的部分内容主要涉及的是一个重复的链接到一个Java学习社区,并没有提供关于"Oracle专家高级编程"的具体信息,但基于标题和描述,我们可以合理推测文档内容将围绕Oracle数据库的高级编程技巧展开。...