Есть две таблицы: cdr и call_kontrid.
В cdr поля: calldate, dst, cnum, kontrid.
В call_kontrid поля: exten, telid, kontrid, timenow.
По умолчанию, в cdr в поле kontrid проставляется null. А в call_kontrid в поле kontrid добавляется значения.
И есть триггер, который после добавления новой строки в cdr, должен достать kontrid из таблицы call_kontrid и обновить значение в соответствующей строке в таблице cdr. Подскажите пожалуйста, как это сделать?? Вот мой код.
BEGIN
SET @kontrid = (SELECT kontrid FROM call_kontrid
WHERE timenow = new.calldate AND exten = new.cnum AND telid = new.dst);
IF(@kontrid IS NOT NULL)THEN
UPDATE cdr SET kontrid = @kontrid WHERE calldate = new.calldate;
END IF;
END
Всем заранее огромное спасибо за помощь!
CREATE TRIGGER update_kontrid_on_cdr
BEFORE INSERT ON cdr
FOR EACH ROW
SET NEW.kontrid = (SELECT kontrid
FROM call_kontrid
WHERE timenow = new.calldate
AND exten = new.cnum
AND telid = new.dst
);
Данный триггер БЕЗУСЛОВНО добавит расчётное значение - даже если в запросе его задать, заданное будет заменено на расчётное. Если это не нужно, то:
CREATE TRIGGER update_kontrid_on_cdr
BEFORE INSERT ON cdr
FOR EACH ROW
SET NEW.kontrid = (SELECT kontrid
FROM call_kontrid
WHERE timenow = NEW.calldate
AND exten = NEW.cnum
AND telid = NEW.dst
AND NEW.kontrid IS NULL
);
Есть таблица с полем типа DATETIME, которое хранит время и дату покупки:
Создать программу, которая вводит c клавиатуры двумерный массив неотрицательных целых чисел, находит минимум из максимальных элементов...
У меня есть приложение с чатомКаждый раз, когда в чате приходит сообщение надо проигрывать определённый звук