Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];

Вниз

Как создать генератор   Найти похожие ветки 

 
Anti ©   (2007-08-14 23:37) [0]

Создал генератор:
CREATE GENERATOR GenOrders;

      к нему триггер:
CREATE TRIGGER NewOrder FOR Orders;
ACTIVE BEFORE INSERT POSITION 0
AS
begin
 if (NEW.ID is NULL) then NEW.ID = gen_id(GenOrders,1);
end

  где "Orders" название таблици, а "ID" поле с уникальным ключём.
 Компьютер "ругается" не хочет создавать триггер в чём ошибка не пойму, подскажите. За ранее спасибо!!!


 
Sergey13 ©   (2007-08-15 08:29) [1]

> [0] Anti ©   (14.08.07 23:37)
> Компьютер "ругается"

Если матом, то можно вызвать милицию. 8-)


 
Виталий Панасенко ©   (2007-08-15 10:28) [2]

У меня то же ругается. Как думашь, что пишет? Не знаешь? Странно. Я думал он (компьтер) ругается одинаково.В любом случае. Ведь железяка все-таки


 
Desdechado ©   (2007-08-15 10:47) [3]


> CREATE TRIGGER NewOrder FOR Orders;

Лишний выделенный разделитель.


 
Romkin ©   (2007-08-15 14:41) [4]

SET TERM нужен


 
Виталий Панасенко(дом)   (2007-08-15 14:45) [5]


> Romkin ©   (15.08.07 14:41) [4]
>
> SET TERM нужен
>

Откуда такая уверенность ?


 
Anti ©   (2007-08-15 15:01) [6]

может у кого-нибуть есть пример рабочего генератора


 
Sergey13 ©   (2007-08-15 15:15) [7]

> [6] Anti ©   (15.08.07 15:01)

А с чего ты взял, что у тебя не рабочий генератор?

ЗЫ: Может все таки начнешь нормально описывать проблему? Пытки тут редко применяют.


 
Desdechado ©   (2007-08-15 15:27) [8]

> Anti ©   (15.08.07 15:01) [6]
Ты читать научишься? Если не текст ошибки,то хотя бы ответы.
Я ж тебе написал, в чем у тебя косяк.


 
tomkat   (2007-08-15 16:18) [9]

пример рабочего триггера :-)
CREATE TRIGGER DOCS_AIUD0 FOR DOCS
ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0
AS
begin
 update list l
 set   l.suma=(select
sum(d.suma)
from docs d
where d.id_list=l.id );
end


 
tomkat   (2007-08-15 16:20) [10]

вот еще точнее

SET SQL DIALECT 3;

SET NAMES WIN1251;

SET TERM ^ ;

CREATE TRIGGER DOCS_AIUD0 FOR DOCS
ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0
AS
begin
 update list l
 set   l.suma=(select
sum(d.suma)
from docs d
where d.id_list=l.id );
end
^

SET TERM ; ^


 
Виталий Панасенко(дом)   (2007-08-15 21:45) [11]


> tomkat   (15.08.07 16:20) [10]
>
> вот еще точнее

Ха, а если у меня диалект - 1?!!! И кодовая страница не такая ?!!


 
Вася Правильный   (2007-08-15 22:02) [12]


> Виталий Панасенко(дом)   (15.08.07 21:45) [11]

ага, и генератором там не пахнет


 
tomkat   (2007-08-16 10:37) [13]

SET SQL DIALECT 1;

SET NAMES  <другая_кодовая_страница>;

SET TERM ^ ;

CREATE TRIGGER DOCS_AIUD0 FOR DOCS
ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0
AS
begin
update list l
set   l.suma=(select
sum(d.suma)
from docs d
where d.id_list=l.id );
end
^

SET TERM ; ^


 
Sergey13 ©   (2007-08-16 10:46) [14]

> [13] tomkat   (16.08.07 10:37)

ОФТОП.
Три раза ты опубликовал свой тригер. Три раза я его посмотрел. И три раза не понял его смысла. 8-)
Зачем апдейтить ВСЮ таблицу LIST при изменении ОДНОЙ записи в DOCS? Можно подискутировать и о смысле существования самой таблицы с агрегатами из другой.


 
tomkat   (2007-08-16 10:54) [15]

я не пытался донести смысл этого триггера, я пытался показать синтаксис скрипта создания ...
есть такая необходимость , обусловленная моей задачей....



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.049 c
1-1191498439
Kerk
2007-10-04 15:47
2007.12.23
Количество бит в байте


4-1181301429
inex
2007-06-08 15:17
2007.12.23
информация о сетевом подключении


3-1187087591
ari_9
2007-08-14 14:33
2007.12.23
зависимые ListSource для Lookup компонент. как лучше ? (+)


2-1196273237
Kaliostro
2007-11-28 21:07
2007.12.23
Работа с DBase IV через ADO


15-1195585647
lookin
2007-11-20 22:07
2007.12.23
Непонятно - а чем телефон лучше песни?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский