暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 设置列值的触发器

ASKTOM 2019-01-09
231

问题描述

嗨,

我对触发器有一个要求。

在EMP表上,它具有列状态。

如果发生任何插入,则状态必须更新1,
如果有任何更新完成状态2。

我们必须在一个触发器中写。

你能给这个要求写一个触发器吗?

提前谢谢。

专家解答

SQL> create table t ( c1 int, status int );

Table created.

SQL> create or replace
  2  trigger TRG
  3  before insert or update on T
  4  for each row
  5  begin
  6    if inserting then :new.status := 1; end if;
  7    if updating  then :new.status := 2; end if;
  8  end;
  9  /

Trigger created.

SQL> insert into t (c1) values (10);

1 row created.

SQL> select * from t;

        C1     STATUS
---------- ----------
        10          1

SQL> update t set c1 = 20;

1 row updated.

SQL> select * from t;

        C1     STATUS
---------- ----------
        20          2
复制


您可能要考虑还有一个称为合并命令的操作 :-)
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论