Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не могу сделать create trigger (Firebird под Linux) / 2 сообщений из 2, страница 1 из 1
06.12.2001, 08:13
    #32018541
Ьфчшь
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать create trigger (Firebird под Linux)
Делаю что то примерно следующее:

CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
new.emp_no=gen_id(emp_no_gen, 1);
END

Все обрубается перед строкой END. Как только ввожу точку с запятой, ISQL говорит что ошибка.
А таких вещей как SET TERM он похоже вообще не знает.
...
Рейтинг: 0 / 0
07.12.2001, 16:34
    #32018643
Timur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать create trigger (Firebird под Linux)
У меня была схожая проблема. (Посмотри на форуме тему "Не проходит SET TERM^;" несколько
сточек вниз!)
Если Вы пытаетессь создать триггер из ISQL , то обречены на неудачу.
В Help'e сообщается, что СREATE PROCEDURE, CREATE TRIGGER проходит только
через скриптовую загрузку команд SQL/DDL, т.е. надо создать файл, желательно с
расширением *.sql, в который поместить код(пример из моей БД):

CONNECT "Путь к Вашей БД\имяБД.gdb" USER "SYSDBA" PASSWORD "masterkey"

COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^;


CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
BEFORE INSERT POSITION 0
AS
BEGIN
new.emp_no=gen_id(emp_no_gen, 1);
END^



COMMIT WORK;
SET TERM ;^
SET AUTODDL ON;



Удачи!
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не могу сделать create trigger (Firebird под Linux) / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]