Во время компиляции триггера в Oracle SQL выдает ошибку, поскольку таблица или представление не существует
Также следующая ошибка приближается к "объявлять @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
1 ответ
СОЗДАТЬ ИЛИ ЗАМЕНИТЬ TRIGGER LM_AFTER_INSERT ПОСЛЕ ВСТАВКИ НА LEAVE_MASTER ДЛЯ КАЖДОЙ СТРОКИ
ОБЪЯВИТЬ v_username varchar2(20 байт);
НАЧАТЬ ВЫБЕРИТЕ пользователя 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, устные концепции sql. Спасибо всем.