2017-09-23 37 views
-3

こんにちはPL/SQLエキスパート!!あなたは私がOracle SQL Developer:トリガー

INSERT INTO SUPERHEROES VALUES ('Batman'); 

に値「バットマン」を使用する方法

を知っていますか私はトリガーを実行するときに、私は以下の出力に

1 row inserted. 

を持つことができますあなたはバットマン

を追加しました関数?私は以下のステートメントを使用しましたが、バットマンは表示されません。前もって感謝します! (注:私はちょうど学習SQLを始めている)

は、これはコードです:

CREATE OR REPLACE TRIGGER TRIG_SUPERHEROES 
BEFORE INSERT ON SUPERHEROES 
FOR EACH ROW 
ENABLE 
DECLARE 
    V_USER VARCHAR(20); 
    SH_NAME VARCHAR(20); 
BEGIN`enter code here` 
    SELECT USER INTO V_USER FROM DUAL; 
    DBMS_OUTPUT.PUT_LINE('YOU JUST ADDED NEW RECORD ' ||SH_NAME); 
END; 
+0

フォーマットコード –

答えて

0

あなたが:new.sh_nameを使用する必要があります。

:oldには、古いレコード状態が含まれています。:newには、新しいレコード状態がfor each rowトリガーに含まれています。

+0

ありがとうございました!!!!それに加えて、それが可能なら、IFまたは存在条件を追加することができますか?new.sh_nameはすでにスーパーヒーローテーブルに存在しますか?私が目指しているのは、それがスーパーヒーローのテーブルに挿入される前です。それが既に存在するかどうかをまずチェックします。そうでなければ、それはテーブル – Raymond

+0

に挿入されません "既に存在するかどうかを最初に確認します"そのためにトリガーを使用しないで、一意の制約または主キーをテーブルに追加します。 。 – APC

関連する問題