Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.12;
Скачать: CL | DM;

Вниз

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

 
Larisa Perova   (2002-07-21 13:48) [0]

Переношу базу данных из Paradox на Interbase. Для автоинкрементного поля в таблице Paradox создаю генератор, а затем триггер с помощью IBCONSOLE (DELPHI 6): TOOLS-INTERACTIVE SQL:
CREATE TRIGGER KONTTR FOR KONT
ACTIVE
BEFORE INSERT
AS
BEGIN
NEW.KNTN=GEN_ID(KNGEN,1);
END
В результате получаю сообщение об ошибке:
Dynamic SQL Error SQL Error code =-104 Unexpexted end of command

Подсажите пожалуйста что неправильно.
Лариса Перова


 
kaif ©   (2002-07-21 14:14) [1]

Команда SQL содержит в себе так называемый терминатор, то есть текущий символ завершения команды (точка с запятой). C помощью этого символа IBConsole разбивает скрипт на отдельные команды SQL.
Для того, чтобы создавать тела процедур и триггеров в таких случаях принято временно менять текущий терминатор. Это делается при помощи инструкции SET TERM:

SET TERM ^;
CREATE TRIGGER KONTTR FOR KONT
ACTIVE
BEFORE INSERT
AS
BEGIN
NEW.KNTN=GEN_ID(KNGEN,1);
END
^
SET TERM ;^

Сначала мы заменили терминатор на символ "^"
Затем IBConsole выяснила для себя, где заканчивается отдельная команда CREATE TRIGGER и послала ее текст на сервер.
Затем мы заменили терминатор на значение по умолчанию - символ ";".



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

Текущий архив: 2002.08.12;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.015 c
3-35224
masik
2002-07-23 14:30
2002.08.12
For Select (IB) аналог в ?


3-35182
sergey32
2002-07-22 10:22
2002.08.12
Ошибка в при использовании BDE


1-35251
V.Turecky
2002-07-30 16:11
2002.08.12
ТCheckListBox


1-35377
BlackSun
2002-07-24 20:22
2002.08.12
PostData


14-35418
esprit_bel
2002-06-06 11:27
2002.08.12
Исходник