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

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

Insert из той же таблицы


Grom ©   (2003-03-06 14:57:00) 

почему не работает такая конструкция ?

insert into b
select ID,Cast(2 as smallint)
from b
where ID_A=1

Был вопрос зачем надо дублировать данные в базе. Есть таблица "a" - parent и таблица "b"-child. в таблице "а" первая запись, на которую ссылаются около сотни записей из "b". нужно создать вторую запись в "a", c таким же набором из b. в последствии пользователь удалить лишнее две записи из "b". Все лучше чем вводить 98 новых практически аналогичных записей.

таблица "b" : ID - ключевое, ID_A ссылка на таблицу "a"


Val   (2003-03-07 13:19:00) [1]

>myor © (07.03.03 13:03)
в данном синтаксисе values не используется


myor   (2003-03-07 13:03:00) [2]

а что вставляешь?
где values(...)?


Val   (2003-03-07 10:57:00) [3]

>Pat © (06.03.03 20:35)


А что это такое и с чем его едят?

пародия на просмотры.
см. соотв. пункт в Local SQL Help.


sniknik   (2003-03-07 00:29:00) [4]

Grom (06.03.03 20:13)
пользуйся ADO, получиш большую функциональность. (такой запрос точно пойдет, простой)


Pat   (2003-03-06 20:35:00) [5]

>Val © (06.03.03 18:22)
>даже при использовании Local Views?
А что это такое и с чем его едят?


Grom   (2003-03-06 20:13:00) [6]

Да в том то и дело что Paradox. связался на свою голову.


Val   (2003-03-06 18:22:00) [7]

>Pat © (06.03.03 17:21)
даже при использовании Local Views?


Pat   (2003-03-06 17:21:00) [8]

>Grom (06.03.03 14:57)
Тип БД какой?
Для Paradox"а не рабоает. В других, может быть, и пройдет


Wolf   (2003-03-06 16:51:00) [9]

может поля указать надо?

insert into b(id,id_a)
select gen_id(generator_name,1),2
from b
where ID_A=1

P.S. Это для IB


Val   (2003-03-06 15:13:00) [10]

>Grom (06.03.03 14:57)
insert into b
select <тут новый сгенерированный id>,...
from b
where ID_A=1


sniknik   (2003-03-06 15:12:00) [11]

а Cast(2 as smallint) это что поле ID_A пытаешся заменить?
попробуй вариант
insert into b
select ID, Cast(2 as smallint) AS ID_A
from b
where ID_A=1

> ID - ключевое
небось автоикремент?

тогда так
insert into b
select Cast(2 as smallint) AS ID_A
from b
where ID_A=1 (хотя есть в этом чтото бредовое, не кажется? просто заполнит новыми значениями по количеству старых)

и хотелось бы тип базы узнать. также доступ и ошибку.


VAleksey   (2003-03-06 15:01:00) [12]

Поподробнее насчет запроса.
Текст реальный и желательно ограничения наложенные на таблицу.
Вообще в ПРИНЦИПЕ подобный метод работает


Соловьев   (2003-03-06 15:00:00) [13]


> ID_A ссылка на таблицу "a"


> insert into b
> select ID,Cast(2 as smallint)
> from b

в это и трабл


Наверх

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