0

また、次のエラーが「declare @empsal」に近づいていPLS-00103 :Encountered the symbol "@" when expecting one of the followingます...

私のテーブルはデータベースに存在します。

私のトリガー:

create or replace
TRIGGER leavemastertrg After INSERT 
ON "xyz"."leave_master"
    declare @empid int;
    declare @empname varchar(100);
    declare @empsal decimal(10,2);
    declare @audit_action varchar(100);

    select @empid=i.LEAVE_ID from inserted i;   
    select @empname=i.LEAVE_NAME from inserted i;   
    select @empsal=i.LEAVE_STATUS from inserted i;  
    set @audit_action='Inserted Record -- After Insert Trigger.';

    insert into manager_master
           (MANAGER_ID,MANAGER_NAME,MANAGER_STATUS,MANAGER_AUDIT_ACTION,MANAGER_AUDIT_TIMESTAMP) 
    values(@empid,@empname,@empsal,@audit_action,getdate());

    PRINT 'AFTER INSERT trigger fired.'
GO
4

1 に答える 1

0

各行の LEAVE_MASTER に挿入後、トリガー LM_AFTER_INSERT を作成または置換

DECLARE v_username varchar2(20 バイト);

BEGIN SELECT user INTO v_username FROM dual;

INSERT INTO manager_master
( MANAGER_ID,
 MANAGER_NAME,
 MANAGER_STATUS,
 Modified_by)
VALUES
( :new.LEAVE_ID,
  :new.LEAVE_NAME,
  :new.LEAVE_STATUS,
  user);

終わり;

このサンプル コードは、Oracle SQL で正常に動作します。間違った方法で Mysql、oralce sql の概念を適用しました。すべてに感謝します。

于 2015-03-09T04:29:41.277 に答える