Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как с помощью SQL вставить запись? Firebird 2.5\2.1 
V
    Опции темы
tishaishii
Дата 9.9.2010, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Таблица: "T1"("ID" BIGINT(20) NOT NULL, "DATETIME" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP).

Триггер перед выставкой: 
Код
if (new."ID" is null) then new."ID"=GEN_ID("GEN_T1_ID", 1);

а для "DATETIME" default CURRENT_TIMESTAMP.

Нужно вставить в T1 строчку. Пишу:
Код

insert into T1;
insert into T1() values();
insert into T1("ID") values(null)

всё неправильно.
Как нужно-то?

Это сообщение отредактировал(а) tishaishii - 9.9.2010, 13:01
PM MAIL ICQ Skype   Вверх
Deniz
Дата 9.9.2010, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



На firebird 1.5 конструкция
Код
insert into T1(id) values(null)
работает. На 2.х тоже должно.
Есть еще вариант:
Код
insert into T1("ID") values(GEN_ID("GEN_T1_ID", 1))
но это тоже самое.

Цитата(tishaishii @  9.9.2010,  15:00 Найти цитируемый пост)
всё неправильно.
А что неправильно? Ошибка или еще чего?


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Gluttton
Дата 9.9.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 7
Всего: 54





--------------------
Слава Україні!
PM MAIL   Вверх
tishaishii
Дата 9.9.2010, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Блин, работает. У меня триггер был "after insert or update", а не "before".

Gluttton, в тот раз не дождался ответа, использовал корявый способ и забыл про вопрос.

Это сообщение отредактировал(а) tishaishii - 10.9.2010, 20:17
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0713 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.