|
Не могу сделать create trigger (Firebird под Linux)
|
|||
---|---|---|---|
#18+
Делаю что то примерно следующее: 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 он похоже вообще не знает. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2001, 08:13 |
|
Не могу сделать create trigger (Firebird под Linux)
|
|||
---|---|---|---|
#18+
У меня была схожая проблема. (Посмотри на форуме тему "Не проходит 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; Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2001, 16:34 |
|
|
start [/forum/topic.php?fid=40&msg=32018643&tid=1581305]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 260ms |
total: | 406ms |
0 / 0 |