Oracle PL/SQL:将整行从触发器转发到过程

Oracle PL/SQL: Forwarding whole row to procedure from a trigger(Oracle PL/SQL:将整行从触发器转发到过程)
本文介绍了Oracle PL/SQL:将整行从触发器转发到过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有一个 Oracle (10i) PL/SQL 行级触发器,它负责三个独立的任务.由于触发器在这种情况下相对混乱,我想将这三个任务导出到三个存储过程中.我正在考虑使用 my_table%ROWTYPE 参数或过程的集合类型,但我主要关心的是如何填充这些参数.

In have an Oracle (10i) PL/SQL Row-Level trigger which is responsible for three independent tasks. As the trigger is relatively cluttered that way, I want to export these three tasks into three stored procedures. I was thinking of using a my_table%ROWTYPE parameter or maybe a collection type for the procedures, but my main concern is how to fill these parameters.

有没有办法轻松地将触发器的整个 :NEW 行放入单个变量中?到目前为止,我能找到的唯一方法是将每个字段单独分配给不太令人满意的变量,查看代码维护等.

Is there a way to put the whole :NEW row of a trigger into a single variable easily? So far the only way I could find out was assigning each field separately to the variable which is not quite satisfying, looking at code maintenance etc.

类似的东西

SELECT :NEW.* INTO <variable> FROM dual;

将是首选.(实际上我还没有尝试过,但我想它不会起作用)

would be preferred. (I haven't tried that actually but I suppose it wouldn't work)

推荐答案

这不可能.

也许 我对另一个问题的回答 可以提供帮助.

Maybe my answer to another question can help.

这篇关于Oracle PL/SQL:将整行从触发器转发到过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

SQL to Generate Periodic Snapshots from Transactions Table(用于从事务表生成定期快照的SQL)
MyBatis support for multiple databases(MyBatis支持多个数据库)
Oracle 12c SQL: Missing column Headers in result(Oracle 12c SQL:结果中缺少列标题)
SQL query to find the number of customers who shopped for 3 consecutive days in month of January 2020(查询2020年1月连续购物3天的客户数量)
How to get top 10 data weekly (This week, Previous week, Last month, 2 months ago, 3 month ago)(如何每周获取前十大数据(本周、前一周、上个月、2个月前、3个月前))
Select the latest record for an Id per day - Oracle pl sql(选择每天ID的最新记录-Oracle pl SQL)