Я пытаюсь создать триггер в MySQL с данными Select Column из Join multiple table. Но Trigger не позволяет мне DECLARE temp variable.Как создать триггер после вставки с выбранными данными из нескольких таблиц с подключением в MYSql
Я хотел бы присоединиться к 4 таблицы на основании вновь вставленной записи в одной таблице и выбрать данные из другой таблицы и вставки обновления г в другой таблице (DashboardStatus)
Я получаю сообщение об ошибке [SQL Error (1064): У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса использовать вблизи 'SET _BedId = (SELECT bd.BedId
ИЗ LifetouchHeartRate LTHR РЕГИСТРИРУЙТЕСЬ устройства' в строке 4 * /]
CREATE TABLE `dashboardstatus` (
`LTHR` INT(11) NULL DEFAULT NULL,
`BedId` INT(11) NULL DEFAULT NULL
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
CREATE TRIGGER triggerDashboard AFTER INSERT ON LifetouchHeartRate for each row
BEGIN
DECLARE _BedId INT
SET _BedId = (SELECT bd.BedId As _BedId
FROM LifetouchHeartRate lthr
JOIN DeviceSession ds ON ds.DeviceSessionID = lthr.ByDevSessionId
JOIN PatientSession ps ON ps.PatientSessionId = ds.ByPatientSessionId
JOIN PatientDetails pd ON pd.PatientDetailsId = ps.ByPatientId
JOIN BedDetails bd ON bd.BedDetailsId = pd.ByBedId
WHERE lthr.LifeTouchHeartRateID = new.LifeTouchHeartRateID Limit 1);
IF _BedId > 0
BEGIN
INSERT OR REPLACE INTO DashboardStatus (LTHR, BedId) VALUES (new.LifeTouchHeartRateID, _BedId)
END
END
Спасибо за ответ. Я уже пробовал; но я получил ошибку ниже Ошибка SQL (1064): У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего MySQL-сервера, для правильного синтаксиса для использования рядом с 'BEGIN DECLARE BedId INT' в строке 2 – skt
Уважаемый wchiquito. Я получаю сообщение об ошибке Syntex, когда я выполнил вышеуказанный запрос Ошибка SQL (1064): У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '' по строке 4 – skt
Спасибо за его работу. Я не добавил DELIMITER; наверху и концу – skt