小编Kau*_*iya的帖子

创建触发器时使用“REFERENCING NEW AS NEW OLD AS OLD”

我在不同的表上发现了两个类似的触发器。

create or replace TRIGGER "GM_OWNER".CHG_TYPE_TRG
AFTER INSERT OR UPDATE OR DELETE
ON CHG_TYPE
FOR EACH ROW
BEGIN
    If Inserting Then
       INSERT INTO CHG_TYPE_H
Run Code Online (Sandbox Code Playgroud)

create or replace TRIGGER invoice_trg
AFTER INSERT  OR  DELETE  OR UPDATE
ON invoice
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
    If Inserting Then
       INSERT INTO INVOICE_H
Run Code Online (Sandbox Code Playgroud)

两者都会触发在 Hist 表中插入或更新或删除与特定表相关的数据。当我们已经使用 :old 和 :new 来引用数据时,“REFERENCING NEW AS NEW OLD AS OLD”有什么用?

sql oracle triggers plsql

6
推荐指数
2
解决办法
2万
查看次数

Oracle PL/SQL 上 VARCHAR2 和 LONG 数据类型的区别

我们使用 VARCHAR2 数据类型来存储可变长度字符数据。VARCHAR2 数据类型采用必需的参数,指定最大大小为 32767 字节。

我们使用 LONG 数据类型来存储可变长度的字符串。LONG 数据类型类似于 VARCHAR2 数据类型,不同之处在于 LONG 值的最大大小为 32760 字节。

除了最大尺寸之外还有其他区别吗?

oracle types plsql

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

oracle ×2

plsql ×2

sql ×1

triggers ×1

types ×1