Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не создаётся триггер 
V
    Опции темы
champion
Дата 17.10.2010, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 26.1.2005

Репутация: нет
Всего: 2



Сделал триггер
Код


CREATE TRIGGER `determine_code` AFTER INSERT ON `cdr` 
FOR EACH ROW BEGIN
    UPDATE `cdr` SET `code` = (
        SELECT 
            `price`.`code` 
        FROM 
            `price`
        WHERE 
            LOCATE(
                `price`.`code`,
                SUBSTRING(NEW.dst, 2)
            ) = 1
        ORDER BY 
            `price`.`code` DESC
        LIMIT 0,1        
    ) 
    WHERE 
            `calldate` = NEW.calldate
        AND
            `src` = NEW.src
        AND
            `dst` = NEW.dst;
END;


Но MySQL не хавает запрос, говорит #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 22

В чем может быть ошибка?

Добавлено @ 08:56
Решил вопрос. 
Дело было в том, что мной не указывался Delimiter. Нужно было сделать так
Код

DELIMITER $$
CREATE TRIGGER `determine_code` 
BEFORE INSERT ON `cdr` 
FOR EACH ROW BEGIN
    IF ( NEW.billsec > 0 AND LENGTH(NEW.dst) > 10 AND SUBSTRING(NEW.dst,1,1) LIKE '8' ) THEN
        SET NEW.code = (
            SELECT 
                `price`.`code` 
            FROM 
                `price`
            WHERE 
                LOCATE(
                    `price`.`code`,
                    SUBSTRING(NEW.dst, 2)
                ) = 1
            ORDER BY 
                `price`.`code` DESC
            LIMIT 0,1        
        ); 
    END IF;
END$$
DELIMITER ;




Это сообщение отредактировал(а) champion - 17.10.2010, 08:56


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0381 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.