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