`
jia106329
  • 浏览: 62834 次
  • 性别: Icon_minigender_2
  • 来自: tj
社区版块
存档分类
最新评论

oracle 触发器 删除表中的内容插入到另一张表

阅读更多
CREATE OR REPLACE TRIGGER AR_DETAIL_DELETE
       BEFORE DELETE ON AR_DETAIL
       REFERENCING NEW AS NEW OLD AS OLD
       FOR EACH ROW
       
       DECLARE
              PRAGMA AUTONOMOUS_TRANSACTION;       (1)
              CURSOR CUS_HR IS
                     SELECT EMPID FROM AR_DETAIL WHERE PK_NO = :OLD.PK_NO;
                    
       BEGIN
            FOR HR_ROW IN CUS_HR 
            LOOP
                INSERT INTO TABLEA VALUES(HR_ROW.EMPID);
            END LOOP;
            
       COMMIT;                                      (2)
       
END AR_DETAIL_DELETE;


没写(1),(2)之前报下图错
  • 大小: 20.2 KB
分享到:
评论
1 楼 06softwaregaojie 2009-06-25  
原来是这样啊,多谢楼主。我还一直在找在触发器总遍历结果集的方法呢,原来是这样啊。

相关推荐

    oracle监控某表变动触发器例子(监控增,删,改)

    在这个例子中,我们创建了一个名为`test_trigger`的触发器,用于监控名为`test_table`的表的增、删、改操作,并将这些操作的信息记录到另一个历史表`test_table_h`中。 触发器定义如下: ```sql create or replace...

    Oracle数据库创建表tuser设置主键自动增长

    本篇详细介绍了如何在Oracle数据库中创建一张包含自动增长主键的表`tuser`,并通过创建序列和触发器实现了这一功能。这种做法不仅能够简化主键管理的工作量,还能够确保数据的一致性和完整性。对于实际应用来说,这...

    数据库中两张表之间的数据同步增加、删除与更新实现思路

    1:数据同步增加: 如有两张表——A表和B表,创建触发器使当A表插入数据后B表也同步插入数据。其中B表插入数据的字段需要同A表中的字段相对应。 代码如下: CREATE TRIGGER 触发器名称 ON A表 AFTER INSERT AS BEGIN ...

    oracle 学习心得与总结

    - **外键约束(FOREIGN KEY)**:建立表之间的引用完整性,确保参照的列在另一张表中存在。 4. **创建表和约束**: - **脚本(SCRIPT)**:通过SQL语句创建表和约束,通常在SQL*Plus或其他数据库管理工具中执行。...

    Oracle数据库基础及应用实训代码与截图

    * 插入数据:插入数据到学生表、课程信息表和成绩单表等多个表中。 * 修改数据:修改学生表、课程信息表和成绩单表等多个表中的数据。 * 删除数据:删除学生表、课程信息表和成绩单表等多个表中的数据。 模块化编程...

    oracle实验报告

    的职工插入到复制的表中。 3、对复制的emp表插入一行只包含有职工号,职工名,工资与部门号四个数据 项值的记录。 4、在复制的emp表中将雇员ALLEN提升为经理,工资增至$2500, 奖(佣 )金增加40%。 5、删除复制的emp...

    深入浅出Oracle EBS之Forms开发指南.pdf

    - **编写PL/SQL代码**:在触发器中编写用于读取、插入、更新或删除数据的PL/SQL代码。 - **测试触发器**:通过模拟不同的业务场景来测试触发器的功能是否正确。 ##### 2.7 一个简单的例子: 上传&编译 完成Form的...

    oracle设置主键自动增长

    此触发器的作用是在向 `example` 表中插入新记录时,如果 `ID` 字段为空,则自动为其赋一个序列值。 #### 四、插入数据 现在我们可以在 `example` 表中插入数据了,此时 `ID` 字段不需要手动指定值,由触发器自动...

    oracle数据库应用与开发讲义

    - **DML**:用于插入、更新或删除表中的数据,如INSERT、UPDATE、DELETE语句。 - **DCL**:用于授予或撤销用户对数据库对象的操作权限,如GRANT、REVOKE语句。 - **SQL函数**: - **字符函数**:用于字符串操作...

    Oracle数据库审计

    - 编写一个触发器,在特定操作发生时触发,并将相关信息(如登录时间、地点等)记录到`SYS_LOG`表中。 - 测试不同登录方式的效果,例如通过本地连接(`CONN/ASSYSDBA`与`CONNSYS/ORACLE`)和网络连接(使用TNS名称...

    Oracle sql基础语法

    本教程将深入讲解Oracle SQL的基础语法,包括数据查询、数据插入、更新与删除,以及更复杂的子查询和联接操作。 1. 数据库连接:在开始使用Oracle SQL之前,你需要连接到Oracle数据库。这通常通过SQL*Plus或者其他...

    2008IT程序员测试全攻略 Oracle+智力+心理

    2. SQL语言:熟练运用SQL进行数据查询、插入、更新和删除操作。 3. PL/SQL:Oracle的编程语言,用于编写存储过程、触发器、函数等。 4. 数据库设计:理解关系模型,进行数据库建模和规范化设计。 5. 性能优化:学习...

    多表可更新视图的实现

    这个触发器实现了对多表视图`v`的插入、更新和删除操作。当通过视图执行这些操作时,触发器会自动将操作转化为对基础表`t1`和`t2`的操作,确保数据的一致性和完整性。 #### 四、注意事项与应用场景 - **性能考虑*...

    oracle 数据库常用命令

    12. **清空表**:`TRUNCATE TABLE`命令用于删除表中的所有数据,但不触发表上的触发器或改变自动增量计数器。 13. **DISTINCT**:在查询中使用`DISTINCT`关键字去除重复行,如`SELECT DISTINCT DEPTNO FROM EMP`。 ...

    oracle手册

    - INSERT:向表中插入新行。 - DELETE:删除满足条件的行。 - UPDATE:更新表中的数据。 - MERGE:根据条件合并源表和目标表的数据。 #### 8. 事务控制语句 - COMMIT:提交事务。 - ROLLBACK:回滚事务。 #### 9. ...

    ORACLE数据库期末考试题目及答案.docx

    - **视图的使用**:视图可以被当作一张虚拟的表来使用,可以对其进行查询、插入、更新和删除操作。 - **视图的删除**:使用DROP VIEW命令删除视图。 ### 三、Oracle数据库高级特性 #### 1. 存储过程与触发器 - **...

    oracle_sql性能优化

    要注意的是,虽然索引能加速查询,但也会影响数据插入、更新和删除的速度,因此在设计索引时需权衡利弊。 二、执行计划分析 理解SQL查询的执行计划是优化的基础。通过EXPLAIN PLAN或DBMS_XPLAN,可以查看查询的执行...

    数据库面试题(SQL+ORACLE).

    - **参照完整性**:确保引用完整性,即如果一张表中有对外键的引用,那么这个外键必须在另一张表的主键中存在。 - **用户定义完整性**:根据具体的应用需求设定的约束条件,比如数值范围、格式验证等。 #### 六、...

    mysql中多表删除其中ID相同记录的方法

    1. **触发器**:在SQL Server中,可以创建一个触发器,当在一张表中删除某个记录时,触发器会自动执行相应的删除操作在另一张表中。触发器是一种数据库对象,当特定的DML(插入、更新、删除)操作发生时,它会自动...

    (完整版)数据库原理与应用Oracle期末考试题2012A答案.docx

    - **解析**: 主键是一张表中的一个或一组字段,它的值是唯一的,并且可以用来唯一地标识表中的每一行记录。候选键是指可以作为主键使用的任何唯一标识符。关键字通常是指主键。 #### 二、单择题知识点解析 **1. ...

Global site tag (gtag.js) - Google Analytics