![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамический запрос на вставку [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.
пропиши вызов этого генератора в самом запросе