Кроме того, после ошибки приближались «объявить @empsal», как PLS-00103 :Encountered the symbol "@" when expecting one of the following
...При компиляции триггера в Oracle SQL метания ошибки в виде таблицы или представлений не существует
Моих таблиц существуют в базе данных.
Мой триггер:
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
В коде, который вы опубликовали, нет объявления «declare @empsal». Пожалуйста, разместите реальный код, который вы используете, и поместите все сообщения об ошибках, которые вы получаете в своем вопросе (не в заголовке), включая номер строки, с которой они происходят –
Какую базу данных вы используете? Вы отметили это для «oracle», но код, который вы опубликовали, не является PL/SQL. Кажется, это SQL-сервер T-SQL. Вы отметили это для MySQL, но ошибка, которую вы опубликовали, является ошибкой Oracle, а не ошибкой MySQL. Я предполагаю, что вы пытаетесь использовать синтаксис SQL Server в базе данных Oracle, которая принципиально не собирается работать. Мне трудно понять, где MySQL вступает в игру. –
Извините, новичок этого триггера @ Justin Cave. В основном я практиковал основы из [link] (http://www.codeproject.com/Articles/25600/Triggers-SQL-Server) только на сервере MySql, там также была допущена некоторая ошибка .Then попытался в Oracle sql, с тем же кодом и некоторой модификацией. @ ErwinBolwidt выше одного был моим точным кодом в oracle. (MySQL 5.6 using) – Saro