Вниз
Скачать: CL | DM;

Динамический запрос на вставку   Найти похожие ветки 

 
Russko   (2004-12-30 06:50) [0]

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


 
stud ©   (2004-12-30 09:09) [1]

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

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

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


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

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


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

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


 
stud ©   (2004-12-30 09:28) [4]


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

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

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


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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
14-1105962386
ПЛОВ
2005-01-17 14:46
2005.02.06
Яндекс че-то в полном дауне :)


4-1103130861
Alex____
2004-12-15 20:14
2005.02.06
Подсчет опираций процессора


1-1106550880
ISK
2005-01-24 10:14
2005.02.06
Как получить наивысший уровень привилегий в ХР?


3-1104756129
kaif
2005-01-03 15:42
2005.02.06
Ошибка в db.pas VCL Delphi. Метод TParams.ParseSQL


1-1106525159
Profi
2005-01-24 03:05
2005.02.06
Свой TTreeView




   Наверх