powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Хелп... Я уже схожу с ума
10 сообщений из 10, страница 1 из 1
Хелп... Я уже схожу с ума
    #32226789
][abib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CREATE TRIGGER T_GEN_BUILD FOR BUILDING
ACTIVE AFTER UPDATE POSITION 0
AS
BEGIN
IF(NEW.BID IS NULL) THEN
NEW.BID = GEN_ID(GEN_BUILD,1); /*здесь ругается*/
END

генератор зарегистрирован вроде правильно.... BID - первичный ключ таблицы BUILDING
...
Рейтинг: 0 / 0
Хелп... Я уже схожу с ума
    #32226818
paul_c0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем понятно, что вы этим пытаетесь сделать.
Если создать id то зачем if и зачем из приложения вообще вставлять данные в это поле.
Если я неправ поправьте меня.
...
Рейтинг: 0 / 0
Хелп... Я уже схожу с ума
    #32226824
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ACTIVE AFTER UPDATE
^^^^^^^^^^^^^^
Как это должно работать?
...
Рейтинг: 0 / 0
Хелп... Я уже схожу с ума
    #32226826
Duce
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А разве такие трюки(менять нью) для AfterUpdate возможны? Мож-таки
в бифо вынести? Хотя я ораклист...
...
Рейтинг: 0 / 0
Хелп... Я уже схожу с ума
    #32226827
Duce
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То Голд: видимо, поздно. Скорая помощь оказалась быстрее ;)
...
Рейтинг: 0 / 0
Хелп... Я уже схожу с ума
    #32226828
][abib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прошу прощения, я еще не совсем ведаю что творю..

Допустим я был не прав

CREATE TRIGGER T_GEN_BUILD FOR BUILDING
ACTIVE BEFORE INSERT POSITION 0
/* ^^^^^^^^^ - с этим проблем быть точно не должно*/
AS

BEGIN
IF(NEW.BID IS NULL) THEN BEGIN
NEW.BID = GEN_ID(GEN_BUILD,1)
END

ошибка таже

Dynamic SQL Error
SQL error code = -104
Token unknown - line 7, char -1
END
Statement: CREATE TRIGGER T_GEN_BUILD FOR BUILDING
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF(NEW.BID IS NULL) THEN BEGIN
NEW.BID = GEN_ID(GEN_BUILD,1)
END
...
Рейтинг: 0 / 0
Хелп... Я уже схожу с ума
    #32226834
][abib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сори
CREATE TRIGGER T_GEN_BUILD FOR BUILDING
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF(NEW.BID IS NULL) THEN
NEW.BID = GEN_ID(GEN_BUILD,1);
END
...
Рейтинг: 0 / 0
Хелп... Я уже схожу с ума
    #32227245
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где ты этот скрипт выполняешь? Может там термы нужны?
SET TERM ^ ;
CREATE TRIGGER ...
...
end^
...
Рейтинг: 0 / 0
Хелп... Я уже схожу с ума
    #32227583
Vagoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бывает, что при присвоении значения генератора полю в тригере, таблица уже имеет такое значение (при отладке руками написано, напр.), а поле есть ключ или уникум...
...
Рейтинг: 0 / 0
Хелп... Я уже схожу с ума
    #32229202
][abib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Gold

>А где ты этот скрипт выполняешь? Может там термы нужны?
>SET TERM ^ ;
>CREATE TRIGGER ...
>...
>end^

каюсь, именно в этом и была проблемма
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Хелп... Я уже схожу с ума
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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