简体   繁体   English

在Oracle SQL抛出错误中编译触发器时,表或视图不存在

[英]While compiling trigger in Oracle SQL throwing error as table or view doesn't exist

Also following error coming near "declare @empsal" as PLS-00103 :Encountered the symbol "@" when expecting one of the following ... 跟随“声明@empsal”附近的错误作为PLS-00103 :Encountered the symbol "@" when expecting one of the following ...

My tables do exist in the database. 我的表确实存在于数据库中。

My trigger: 我的触发器:

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

CREATE OR REPLACE TRIGGER LM_AFTER_INSERT AFTER INSERT ON LEAVE_MASTER FOR EACH ROW 在LEAVE_MASTER上插入每行后创建或替换TRIGGER LM_AFTER_INSERT

DECLARE v_username varchar2(20 byte); DECLARE v_username varchar2(20字节);

BEGIN SELECT user INTO v_username FROM dual; BEGIN SELECT用户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);

END; 结束;

This sample code working fine in Oracle SQL.Wrong way i applied Mysql,oralce sql concepts.Thanks to all. 这个示例代码在Oracle SQL中运行良好。我采用了Mysql,oralce sql概念。谢谢所有人。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM