在Oracle SQL Developer中插入后如何添加触发器以自动计算行数

immanu10

我想添加触发器来计数插入后的电影数量!

这是存储计数值的表:

CREATE TABLE mov_count
  (mcount NUMBER);

和电影表:

create table movie
  (mov_id number primary key,
   mov_title varchar(20),
   mov_lang varchar(20));

这是我创建的触发器:

create trigger count_movie_trg
after insert on movie
for each row
BEGIN

  UPDATE mov_count
  SET    mcount = (SELECT COUNT(*) FROM movie);

END; 
/

创建此影片后,我尝试添加电影,但其显示的突变触发器/功能可能看不到错误。

小脚丫

FOR EACH ROW让您感到困扰。它是表级触发器,因此:

输入一个虚拟值作为开始(稍后将进行更新):

SQL> insert into mov_count values (0);

1 row created.

触发:

SQL> create or replace trigger count_movie_trg
  2    after insert on movie
  3  begin
  4    update mov_count c set
  5      c.mcount = (select count(*) from movie m);
  6  end;
  7  /

Trigger created.

测试:

SQL> insert into movie
  2    select 1, 'Titanic' from dual union all
  3    select 2, 'Superman' from dual;

2 rows created.

SQL> select count(*) from mov_count;

  COUNT(*)
----------
         1

SQL>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

触发器中的SQL ORACLE错误

来自分类Dev

Oracle中的PL / SQL触发器

来自分类Dev

Oracle SQL触发器

来自分类Dev

触发器在Oracle SQL Developer上不起作用

来自分类Dev

Oracle PL/SQL 触发器:在更新语句后自动重置列值

来自分类Dev

Oracle PL / SQL触发器-捕获名称错误的插入

来自分类Dev

Oracle PL / SQL触发器-捕获名称错误的插入

来自分类Dev

oracle sql触发器尝试创建自动填充的描述

来自分类Dev

Oracle SQL-触发器插入到表中,并从序列中传递空值

来自分类Dev

Oracle PL / SQL约束触发器

来自分类Dev

用于视图的Oracle SQL触发器

来自分类Dev

ORACLE SQL 触发器和 SUM()

来自分类Dev

触发器在Oracle PL / SQL中无法正确执行

来自分类Dev

Oracle中的PL / SQL触发器错误

来自分类Dev

Oracle SQL触发器在插入/更新时计算2个值并更新第三个值

来自分类Dev

如何在 Oracle sql developer 中输入行数

来自分类Dev

插入或删除后Oracle触发器

来自分类Dev

如何在Oracle PL / SQL中实现AFTER INSERT触发器?

来自分类Dev

Oracle Apex与Oracle SQL Developer

来自分类Dev

在Oracle SQL Developer中插入汇总记录

来自分类Dev

计算SQL ORACLE中返回的行数

来自分类Dev

Oracle SQL Developer不在触发器DDL中放入模式名称

来自分类Dev

插入之前的PL / SQL Oracle触发器无法获取新的唯一主ID

来自分类Dev

ORACLE SQL Developer(查询)

来自分类Dev

Oracle SQL Developer更新

来自分类Dev

Oracle SQL Developer(4.0.0.12)

来自分类Dev

安装Oracle SQL Developer

来自分类Dev

在oracle中插入表B后创建将新行添加到表A中的触发器时出错

来自分类Dev

多次插入SQL oracle