Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2011, 13:28   #1
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
Восклицание

13:28
Всем здраствуйте! Есть проблема!
Создаю программно триггер в Firebird 2.1:
Код:
CREATE PROCEDURE DEL_CLON_OST
AS
declare variable V_SUM_OST numeric(15,2); 
declare variable V_TOVAR integer; 
begin 
for select ID_TOVAR from OSTATKI where ID_SKLAD=0 group by ID_TOVAR into :v_tovar do 
begin 
select SUM(OSTATOK) from OSTATKI where (ID_SKLAD=0) and (ID_TOVAR=:v_tovar) into :v_sum_ost; 
delete from ostatki where (ID_SKLAD=0) and (ID_TOVAR=:v_tovar); 
insert into OSTATKI values(GEN_ID(GEN_OSTATKI_ID,1),0,:v_tovar,:v_sum_ost); 
end 
end
Выдает ошибку token unknown ?.
Создал триггер попроще - все создает!
Заметил что не создает триггера, где есть переменные(типа :v_sum_ost)
Пробовал и IBQuery и IBSQl все равно не фупыкает! Втавлял код в IBEXpert - все создает!Какие предположения есить?

13:29
Кстати, извините тут процедура, но с триггером то же самое

На следующий день
Подскажите кто то что то!!!!

Пора бы уже и прочесть правила раздела...
А пока - штраф за флуд, за нежелание эти правила соблюдать.

Последний раз редактировалось mihali4; 18.10.2011 в 13:32.
RuVarez вне форума Ответить с цитированием
Старый 19.10.2011, 20:35   #2
shurik_7866
Пользователь
 
Регистрация: 07.02.2007
Сообщений: 50
По умолчанию

юзай
Код:
CREATE trigger DEL_CLON_OST for tablename
before delete
AS
declare variable V_SUM_OST numeric(15,2); 
declare variable V_TOVAR integer; 
begin 
for select ID_TOVAR from OSTATKI where ID_SKLAD=0 group by ID_TOVAR into :v_tovar do 
begin 
select SUM(OSTATOK) from OSTATKI where (ID_SKLAD=0) and (ID_TOVAR=:v_tovar) into :v_sum_ost; 
delete from ostatki where (ID_SKLAD=0) and (ID_TOVAR=:v_tovar); 
insert into OSTATKI values(GEN_ID(GEN_OSTATKI_ID,1),0,:v_tovar,:v_sum_ost); 
end 
end;


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 20.10.2011 в 09:43.
shurik_7866 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка в написании триггера. Rin БД в Delphi 8 31.01.2011 14:53
Пропись триггера в Delphi shishechka Помощь студентам 2 04.02.2010 13:42
Добавление триггера flame33 SQL, базы данных 0 10.01.2010 18:05
Создание триггера Crasty SQL, базы данных 1 20.11.2009 01:19
ощибка при создании триггера, помогите tarakan1983 SQL, базы данных 2 30.10.2008 13:39