SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 22.10.2008 15:13:11

Gudi
Участник
Зарегистрирован: 22.10.2008
Сообщений: 2

Триггеры

Мне нужно, что бы при обращении, на добавление записи, к таблице sity, триггер вызывал хранимую процедуру sity.
Вот что я пишу:
DELIMITER $$

CREATE TRIGGER sity
BEFORE INSERT ON firms.Sity
FOR EACH ROW BEGIN EXECUTE PROCEDURE sity();
END$$

DELIMITER ;

но вываливается ошибка:
Error Code : 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 'PROCEDURE sity();
END' at line 3
(0 ms taken)

что я делаю не так?

Неактивен

 

#2 22.10.2008 16:12:19

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Триггеры

Попробуйте так:
FOR EACH ROW BEGIN CALL sity();

Неактивен

 

#3 22.10.2008 16:16:59

Gudi
Участник
Зарегистрирован: 22.10.2008
Сообщений: 2

Re: Триггеры

спасибо, помогло. Но теперь вылетела вот такая вот ошибка:

Error Code : 1435
Trigger in wrong schema
(0 ms taken)

Неактивен

 

#4 22.10.2008 16:28:23

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Триггеры

Убедитесь, что делаете USE firms перед созданием триггера

Неактивен

 

#5 22.10.2008 19:01:48

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Триггеры

А разве процедуры можно вызывать в триггерах? Мне казалось, только функции...

Неактивен

 

#6 22.10.2008 23:29:04

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Триггеры

Можно, если оттуда селекты не прут.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson