MySQL (5.0)  
Автор Сообщение

0
Сообщение MySQL (5.0)
Возникла проблема с синтаксисом, тяжело дается
вообщем
Код:
CREATE TRIGGER small
   ON vid_rab
   AFTER INSERT
AS
BEGIN
    SET NOCOUNT ON;
end//
if (select v_summ_op from vid_rab)<'500'
rollback
Print'Вы не можете вставлять запись менее 500 рублей'
END
//

косяк гдето после begin`a и в конце
Код:
Delimiter //
CREATE PROCEDURE ord_dop_rab()
Begin
DECLARE id int,
DECLARE n_rab int default 0,
DECLARE date_n date,
DECLARE date_o date,
DECLARE cod_rab,
DECLARE kurs1 CURSOR FOR SELECT * FROM dop_rab,
WHERE date_nach BETWEEN '2011.09.01' AND '2011.09.30',
DECLARE CONTINUE HANDLER FOR NOT FOUND SET n_rab=1,
OPEN kurs1,
wet:LOOP,
FETCH kurs1 INTO id, n_rab, date_n, date_o, cod_rab,   
IF n_rab THEN LEAVE wet,
END IF,
INSERT INTO Yanvar VALUES (id id, n_rab, date_n, date_o, cod_rab),
end loop wet
close kurs1;
END
//

сдесь в конце


15 дек 2011, 10:13
Профиль

0
Сообщение MySQL (5.0)
По первому пункту вот что говорит дока mysql
http://dev.mysql.com/doc/refman/5.1/en/create-trigger.html

CREATE
TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_stmt

Так что в теории должно быть так:

CREATE TRIGGER small AFTER INSERT ON vid_rab
FOR EACH ROW BEGIN
SET NOCOUNT ON;
end;

if (select v_summ_op from vid_rab)<'500'
rollback
Print'Вы не можете вставлять запись менее 500 рублей'
END


15 дек 2011, 11:18
Профиль
Начать новую тему Ответить на тему


Перейти:  

На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.
Рейтинг@Mail.ru