|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
есть 6 иерархически связанных таблиц, как одним запросом добавить данные в разные таблицы? таблицы связаны id -> Parent_id. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2021, 16:39 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
Одним - никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2021, 16:44 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
aleks222, а каким можно чтобы не нарушить иерархию? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2021, 16:45 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
Лтвин, последовательно по шагам соблюдая FK constraint, через определение авто-сгенерированного PK (identity) на предыдущем шаге. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2021, 16:57 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
vikkiv, Ни слова не понял, я начинающий ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2021, 16:59 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
Ну на примере первых двух таблиц можете мне написать запрос на добавление данных? Дальше сам разберусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2021, 17:06 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2021, 17:59 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
К сожалению, всё может оказаться не так просто. Например, если вы хотите вставить данные из нескольких таблиц (файлов, дерева xml, etc) связанных своими ключами master/detail в набор таблиц, тоже связанных master/detail, но уже со своим набором ключей, например - по identity или автогенерируемым sequential guid полям. Тогда придется воспользоваться трюком с merge: https://stackoverflow.com/questions/5365629/using-merge-output-to-get-mapping-between-source-id-and-target-id ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2021, 09:47 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
uaggster К сожалению, всё может оказаться не так просто. Например, если вы хотите вставить данные из нескольких таблиц (файлов, дерева xml, etc) связанных своими ключами master/detail в набор таблиц, тоже связанных master/detail, но уже со своим набором ключей, например - по identity или автогенерируемым sequential guid полям. Тогда придется воспользоваться трюком с merge: https://stackoverflow.com/questions/5365629/using-merge-output-to-get-mapping-between-source-id-and-target-id 1. Ну чаво ты чайника запугиваешь? 2. Ерунда там написана. Достаточно Insert-а. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2021, 10:11 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
aleks222 2. Ерунда там написана. Достаточно Insert-а. Неа, не достаточно. Если старый ключ не вставляется в новую таблицу - его никак в output, используя insert, не вытащишь. Поэтому только merge. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2021, 10:20 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
Вы исходите из предположения, что ключи непременно суррогатные. Это не всегда так и output выражение может не понадобиться в некоторых случаях. Начинающему следует изучить - что такое в реляционной теории отношение, ключ, кортеж, атрибут, внешний ключ, нормальные формы, изучить способы поддержания целостности и так далее. Потом задавать вопросы. Речь идёт, разумеется, не об "одном запросе", а об одной транзакции. Если не изучать синтаксис insert и update можно нафантазировать что угодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2021, 10:51 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
uaggster aleks222 2. Ерунда там написана. Достаточно Insert-а. Неа, не достаточно. Если старый ключ не вставляется в новую таблицу - его никак в output, используя insert, не вытащишь. Поэтому только merge. Если ты не умеешь - это вовсе не значит, что нельзя. PS. Либо вставленных данных достаточно для идентификации, либо... пофиг. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2021, 12:00 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
aleks222 uaggster пропущено... Неа, не достаточно. Если старый ключ не вставляется в новую таблицу - его никак в output, используя insert, не вытащишь. Поэтому только merge. Если ты не умеешь - это вовсе не значит, что нельзя. PS. Либо вставленных данных достаточно для идентификации, либо... пофиг. Мда? Ну вот пример: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Прошу, продемонстрируй, как вставить данные из верхних master/detail в нижнюю. Используя insert (как это сделать используя merge - я знаю). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2021, 14:31 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
SCOPE_IDENTITY() ? @@IDENTITY ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2021, 15:07 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
aleks222, а можно по подробнее про тот скрипт что вы написали? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2021, 16:28 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
ну или свести данные из этих таблиц в таблицу что то типа такого вида: Id PId Level Name --------------------------- 1 null 0 Дивизия 2 1 1 Полк 1 3 1 1 Полк 2 4 2 2 Рота 11 5 4 3 Взвод 111 6 2 2 Рота 12 7 3 2 Рота 21 8 5 4 Отделение 1111 9 7 3 Взвод 211 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2021, 18:13 |
|
Как добавить данные в таблицы со связями
|
|||
---|---|---|---|
#18+
uaggster aleks222 пропущено... Если ты не умеешь - это вовсе не значит, что нельзя. PS. Либо вставленных данных достаточно для идентификации, либо... пофиг. Мда? Ну вот пример: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Прошу, продемонстрируй, как вставить данные из верхних master/detail в нижнюю. Используя insert (как это сделать используя merge - я знаю). Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2021, 07:40 |
|
|
start [/forum/topic.php?fid=46&msg=40089668&tid=1684421]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
136ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 263ms |
0 / 0 |