У нас есть 3 таблицы:
Punch-Table:
ID user_code (columns )
2 10
Employees_table:
Id user_code(columns )
5 10
Я хочу триггер, который после вставки новой записи в punches_table будет искать тот же код пользователя в таблице сотрудников, а затем вставить 2 значения идентификатора в:
Punches-employees-relation_table:
ID employees_id punches_id
1 2 5
Обновить
Спасибо за ответ, я получаю ошибку 1064, я думаю, у меня есть MariaDB и код не подходит для MariaDB.
Вот что я пытаюсь сделать: во-первых, я хотел бы сказать, что в первый раз я не указывал точные имена таблиц и полей.
Итак, чтобы привести в порядок: первое имя таблицы a123_employees_punches
Fields:
id (char(36))
user_code (int(255))
2-я таблица abc12_employees_cstm
Fields:
id_c (char(36))
usercode_c (varchar(255))
3-я таблица abc12_employees_a123_employees_punches_1_10_24_1
fields:
abc12_employees_a123_employees_punches_1abc12_employees_ida (varchar(36))
abc12_empl4863punches_idb (varchar(36))
Среда:
Server: Localhost via UNIX socket
Server type: MariaDB
Server version: 5.5.64-MariaDB - MariaDB Server
Protocol version: 10
User: root@localhost
Server charset: UTF-8 Unicode (utf8)
Цель состоит в том, чтобы иметь триггер, который после добавления новой записи в таблицу a123_employees_punches для получения соответствующего id_ c из таблицы abc12_employees_cstm на основе нового введенного кода пользователя и соответствующего ему usercode_ c.
, а затем будет вставлено в 2 поля в таблице abc12_employees_a123_employees_punches_1_ c (abc12_employees_a123_employees_punches_1abc12_employes (1bc12_employe) (vb6) 1032 *
Я пробовал это до сих пор:
CREATE TRIGGER relate_punch_to_employee AFTER INSERT on a123_employees_punches
FOR EACH ROW
BEGIN
SELECT id_c INTO @id FROM a123_employees_punches_cstm WHERE usercode_c = NEW. user_code ;
INSERT into abc12_employees_a123_employees_punches_1_c (abc12_employees_a123_employees_punches_1abc12_employees_ida, abc12_empl4863punches_idb) VALUES (@id, NEW.id);
END$$
, но это дает мне следующую ошибку:
1064 - у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с '' в строке 4