Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамический запрос на вставку [D7, IB6.x]


Russko ©   (2004-12-30 06:50:00) 

Помогите разобраться пожалуйста.
На форме расположены компоненты: IBQuyery, BTransaction, IBUpdateSQL, IBDataBase, DBGridEh, DataSourse.
Допустим есть 2 таблицы: T1 и T2. T1 имеет первичный ключ N и соответственно есть генератор (в свойствах IBQuery он прописан).
Структура таблиц идентична за исключением ключегого поля. Каким образом мне грамотно написать динамический запрос на вставку данных из T2 в T1 так чтобы не вылетали ошибки типа: не уникален ключ, ключ - не может быть NULL.
Прошу как можно подробнее описать, начиная с запросов в TIBUpdateSQL, а то вроде всё сделано как в книжке, а он ругается ))
СПАСИБО!


Russko   (2004-12-30 09:56:00) [1]

сори, это я попутал ))


stud   (2004-12-30 09:28:00) [2]


> Запрос осуществлЯется из программы, созданой на delphi
> и ibsql не подойдёт (((

не понял????? закладка Interbase компонент IBSql

>insert into T1 (id,name,num)
> select gen_id(mygen,1),name,num from T2


dolmat   (2004-12-30 09:20:00) [3]

в таком случае тригеры прописывать нужно.


Russko   (2004-12-30 09:17:00) [4]

Запрос осуществлЯется из программы, созданой на delphi и ibsql не подойдёт (((
>пропиши вызов этого генератора в самом запросе
Каким образом, я делаю примерно так:
insert into T1 (name,num)
select name,num from T2
Ключ в запросе не участвует, потому как он вроде должен автоматически проставиться как автоинкрементное поле


stud   (2004-12-30 09:09:00) [5]

если вставка идет в одну таблицу - зачем использовать updatesql, достаточно ibsql в котором прописваеш свой запрос с необходимыми условиями, а чтобы не было

> не уникален ключ, ключ - не может быть NULL.

пропиши вызов этого генератора в самом запросе


Наверх

Титульная страница Поиск, карта сайта Написать письмо