【问题标题】:How to create a trigger that fires after an update in PL/SQL如何创建在 PL/SQL 中更新后触发的触发器
【发布时间】:2013-12-11 06:19:53
【问题描述】:

我想创建一个触发器,当 Fin_Movie 表中的 Movie_Qty 更新为 0 时,消息“(电影标题)不再可用”

这是我目前所拥有的:

CREATE TRIGGER movie_trg
AFTER UPDATE OF movie_qty
ON fin_movie
FOR EACH ROW 
WHEN (new.movie_qty = 0)
BEGIN 
DBMS_OUTPUT.PUT_LINE(' will no longer be available');
END;

它可以编译,但我不知道如何在输出中显示之前的电影标题。

谢谢

【问题讨论】:

  • 在 Oracle 数据库中,您应该是 on serveroutput 并带有以下语句 - set serveroutput on。然后只有来自Dbms_output.put_line 的消息将显示在显示屏上。
  • 当前 Dbms_output.put_line 显示“将不再可用”,我想将 movie_title 添加到该语句中。所以换句话说,我想显示已经更新为0的Movie_Qty的Movie_Title,并且是'将不再可用'
  • 简单地你可以写New.movie_name附加你的显示信息..就像Dbms_output.put_line('will no longer be available '||New.movie_name);我认为这应该解决你的问题..

标签: sql plsql triggers sql-update plsqldeveloper


【解决方案1】:
CREATE OR REPLACE   
TRIGGER SAL_TRG1 AFTER UPDATE ON EMPC 
FOR EACH ROW 
begin
     if (:new.salary =0) then
          raise_application_error (-20110,'invalid length');
     end if;
end;

【讨论】:

    猜你喜欢
    • 2018-04-01
    • 1970-01-01
    • 2012-05-27
    • 2014-10-14
    • 1970-01-01
    • 2013-06-03
    • 2018-05-24
    • 1970-01-01
    • 2016-11-03
    相关资源
    最近更新 更多