powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вставка записи в эту же таблицу
2 сообщений из 27, страница 2 из 2
Вставка записи в эту же таблицу
    #33118516
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi w3d!

Ну значит можно 2 таких запроса и промежуточная переменная. И кстати если у
тебя NewID() для генерации уникального кода используется, то можно и одним
запросом вынуть всё! Просто определи новый ID для "корня" ДО запроса, а в
самом запросе пропиши через IIF очередные вызовы NewID, всего делов то :)

lnNewRootID = NewID("SourceTable")
INSERT INTO t1 (nID, nParentID, f1, f2, ...) ;
SELECT IIF(t1.nID = m.старое, m.lnNewRootID, NewID("SourceTable")), ;
IIF(t1.nID = m.старое, m.к_кому_прицеплять_всё_новое_дерево,
m.lnNewRootID), ;
t1.f1, t1.f2, ... ;
FROM t1 ;
WHERE t1.nID = m.староеID OR t1.nParentID = m.староеID

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Вставка записи в эту же таблицу
    #33118577
w3d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov
Поразбираюсь в коде.
Новый ID у меня AutoInc - ом делается.
Пока сделал так:
Код: plaintext
1.
2.
3.
SELECT sootv
SCAN 
UPDATE sp_zapch SET sp_zapch.parentid=sootv.new_id WHERE sp_zapch.parentid=sootv.old_id AND sp_zapch.id_detal in (select sootv.new_id from sootv)
ENDSCAN 
...
Рейтинг: 0 / 0
2 сообщений из 27, страница 2 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вставка записи в эту же таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]