Create or replace procedure MoveDataFromAToB
is
--定义变量--
p_braid varchar2(40);
p_merid varchar2(40);
--定义指针--
cursor cur_data_AAA
is
select braid, merid from aaa_test;
begin
--遍历指针游标
for rec_data_AAA in cur_data_AAA
loop
--初始化变量--
p_braid :=null;
p_merid :=null;
begin
--当目的表中存在该主键时,将游标的值赋给变量--
select braid, merid
into p_braid,p_merid
from bbb_test
where braid=rec_data_AAA.braid;
exception
when others then
--异常处理,说明目标表中没有该主键,将变量初始化为空值--
p_braid :=null;
p_merid :=null;
end;
--当目标表中存在该主键时,暂时做标记处理--
if p_braid is not null then
if rec_data_AAA.merid=p_merid then
update aaa_test
set aaa_test.payid='U'
where aaa_test.p_braid=rec_data_AAA.p_braid;
else
update bbb_test
set bbb_test.merid=rec_data_AAA.merid
where aaa_test.braid=rec_data_AAA.p_braid;
end if;
--当目的表中不存在该主键时,进行插入--
else
insert into bbb_test(braid, merid) values(rec_data_AAA.braid,rec_data_AAA.merid);
update aaa_test
set aaa_test.payid='N'
where aaa_test.braid=rec_data_AAA.p_braid;
end if;
commit ;
end loop;
exception
when others then
rollback;
end MoveDataFromAToB;
- 浏览: 155567 次
最新评论
-
zhou9629:
spring redis 整合 -
see_you_again:
回复一楼:我也只是初学
spark使用logback+slf4j 替换log4j+slf4j -
wu_shao_jie:
嗨,我在用spark-submit命令提交作业的时候,应用程序 ...
spark使用logback+slf4j 替换log4j+slf4j -
zhangfc682:
引用
Eclipse代码模板
相关推荐
Oracle存储过程是数据库管理系统中的一种重要编程工具,它允许开发者编写复杂的SQL和PL/SQL代码块,以便在数据库中执行多次或按需执行。Oracle存储过程的学习经典入门涉及多个核心概念和技术,包括性能调优、数据库...
这里使用了一个特殊的条件`WHERE 1 <> 1`来确保不会从`emp`表中复制任何实际数据,而仅仅复制表结构。这种方式适用于需要快速创建一个空白测试表的情况。 **2. 创建存储过程** 接下来创建一个简单的存储过程`Sal_...
Oracle数据库中的存储过程和触发器是数据库编程的重要组成部分,它们被广泛用于数据处理、业务逻辑控制以及自动化数据复制。在本场景中,我们探讨的是如何使用存储过程来复制数据,特别是涉及ICP(互联网内容提供商...
### Oracle存储过程与触发器深度解析 #### 一、触发器概述 触发器,作为Oracle数据库中的重要组件,实质上是一种特殊类型的存储过程,被设计为在特定的数据库操作(如INSERT、DELETE、UPDATE)发生时自动执行。...
触发器是一种存储过程,它与表或视图关联,并在对这些对象执行特定类型的数据库操作(如INSERT、UPDATE、DELETE)时自动执行。触发器可以在数据修改前或后执行,这为实现复杂业务逻辑提供了强大的支持。 #### 如何...
Oracle复制技术是构建高效灾备解决方案的关键组成部分,尤其在存储领域中,它为应对突发灾难提供了数据保护和恢复策略。本文将深入探讨Oracle高级复制的几种主要机制,包括多主复制、可更新快照复制,以及混合配置,...
7. **Undo表空间**:在Oracle中,Undo表空间存储回滚信息,用于事务的撤销操作。创建新的Undo表空间并将其设置为默认值,有助于优化事务处理和复制性能。切换Undo表空间需要系统停机后再启动,以确保更改生效。 8. ...
这两个数据库在结构上是相同的,都包含错误日志、内部过程、复制表、内部触发器、延迟事务队列以及后台进程(如SMON和PMON)等组成部分。具体工作流程如下: 1. **错误日志**:记录复制过程中可能出现的错误信息,...
表空间是Oracle数据库中存储数据的基本单位,每个表空间由一个或多个数据文件组成。表空间可以包含各种类型的数据对象,如表、索引、聚簇等。因此,误删除表空间可能会导致数据丢失,对业务运行造成严重影响。 ### ...
其中,`整数`用于区分同名过程,`@形参变量`定义参数及其数据类型,`output`关键字表示参数用于返回值,`WITH`选项可以用于重新编译或加密存储过程,`FOR replication`则与复制操作相关。 触发器的创建与存储过程...
2. **复制表**:要复制表`uuu`的数据到`yyy`,可以使用`CREATE TABLE yyy AS SELECT * FROM uuu`。这不仅限于同一用户,也可以跨用户复制。 3. **创建用户**:创建新用户,例如`CREATE USER usename IDENTIFIED BY ...
这种文件包含了表定义、索引、约束条件等元数据以及表中的数据,通常通过Oracle的`EXPDP`和`IMPDP`命令来创建或导入。 #### 二、Oracle DMP 文件导出过程 在开始导出DMP文件之前,首先需要确保Oracle环境中已安装并...
本文档详细介绍了如何在Oracle数据库中实现存储过程,包括创建存储过程、变量赋值、条件判断、循环结构以及数组的使用。存储过程作为一种高效的数据处理手段,在实际应用中具有重要的作用。理解并掌握这些基础知识将...
相比之下,Oracle采用单一的存储引擎模型,支持事务处理,将表组织成索引-组织表、聚簇表、嵌套表等多种形式。 事务方面,Oracle在数据库级别进行事务管理,支持复杂的事务操作。MySQL则主要基于表进行事务管理,...
Oracle数据库是世界上最流行的数据库管理系统之一,它广泛应用于各种规模的企业和组织中,用于存储和管理大量结构化数据。在日常数据库管理和开发过程中,有时我们需要将Oracle数据库中的数据导出为INSERT语句,以便...
在分片环境中,分片表的数据被分割存储在不同的分片中,而复制表的数据则在所有分片中复制存储。 5. 安装过程中的known issue(已知问题) - 在安装过程中可能会遇到的已知问题需要记录和解决,这可能涉及软件兼容...
这部分会涉及如何创建、修改和删除数据库对象,如表、视图、索引、存储过程和触发器。还将介绍数据类型、主键和外键等关系数据库设计的基础概念。 四、数据库安全性 Oracle提供了强大的用户权限管理机制,包括用户...
2. **PL/SQL**:Oracle特有的过程式语言,结合了SQL的查询能力与编程语言的功能,用于编写存储过程、函数、触发器等。通过实例,我们可以学习如何编写有效的PL/SQL块,处理异常,以及与表交互。 3. **数据库对象**...
- Oracle和DB2都支持存储过程和触发器,但语法和处理方式有所不同。 - Oracle的PL/SQL和DB2的SQL PL都是过程化编程的扩展,但语法和函数库有差异。 6. 并行处理与事务管理: - Oracle的并行查询通过`PARALLEL`...