|
|
|
Вставка по Top (1000) SQL 2012
|
|||
|---|---|---|---|
|
#18+
Добрый день всем. SQL 2012 Операция РАЗОВАЯ (конвертация данных) в этот момент я буду один на БД Надо разбить один инсерт из темп. таблицы ##RR2 на батчи потому что целевая таблица реплицируется на кучу (> 20) филиалов ( в реальности таких таблиц будет 3-4 ) в ##RR2 скажем 1 000 000 записей ( без репликации это копейки <5 секунд ) Есть ли гарантия что в 1- м Select и во 2-м DELETE TOP будет одинаковый набор данных ??? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Если нет гаратнии то Как воркарвунд ? вставлять в ##RR2 - доп. поле счетчика Id1 и делать то же самое Код: sql 1. 2. или другой воркарунд проще ? PK в таблице ##RR2 не очевиден ( т.е в каждом случае он м.б разным для разных таблиц ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 17:41 |
|
||
|
Вставка по Top (1000) SQL 2012
|
|||
|---|---|---|---|
|
#18+
зы добавлю что кусок кода я вроде как протестировал несколько раз и у меня вроде как все получается ок в 1-м варианте но все равно меня смущает сей момент потому и спрашиваю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 17:42 |
|
||
|
Вставка по Top (1000) SQL 2012
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, гарантии даст только использование output предложение, по которому можно сохранить в таблицу список вставленных ключей и использовать эти ключи для удаления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 17:56 |
|
||
|
Вставка по Top (1000) SQL 2012
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, нет никакой гарантии. ORDER BY - для SELECT. Может так? Код: sql 1. 2. По крайней мере порядок записей в SELECTе гарантируется, если поле сортировки уникально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 17:57 |
|
||
|
Вставка по Top (1000) SQL 2012
|
|||
|---|---|---|---|
|
#18+
Чего-то не понимаю. В названии темы - про INSERT, а в скрипте - DELETE ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 18:01 |
|
||
|
Вставка по Top (1000) SQL 2012
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, По чему вы решили, что DELETE удалит именно те записи, которые вставил INSERT? Естественно нет такой гарантии Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Insert into d3( ) SELECT TOP (1000) FROM ##RR2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 18:36 |
|
||
|
Вставка по Top (1000) SQL 2012
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2019, 18:37 |
|
||
|
Вставка по Top (1000) SQL 2012
|
|||
|---|---|---|---|
|
#18+
Всем СПАСИБО да буду делать правильно в моем случае проще добавить id1 во временную таблицу Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2019, 10:14 |
|
||
|
Вставка по Top (1000) SQL 2012
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, сортировка заметно дороже использования OUTPUT, это не оптимальное решение. Можно использовать триггер после вставки. В таблице inserted получите список ключей, которые надо удалить из источника. При этом не потребуется временная таблица и размер пачки может задавать произвольно запросом и гарантируется целостность переноса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2019, 13:17 |
|
||
|
Вставка по Top (1000) SQL 2012
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, это разовая задача в данном случае мин. затраты как раз с id1 Времен.таблица уже есть и там куча логики по ее созданию зы м.б еще я мало output юзал мало - понимать да понимаю + я еще писал что там ПК НЕ очевиден ( в 4 случаях ) а тут я единообзрано вставил 4 куска и все - а так бы пришлось жойнить по ПК - а поля то разные Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2019, 14:18 |
|
||
|
Вставка по Top (1000) SQL 2012
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2019, 16:08 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=83&tid=1687042]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 427ms |

| 0 / 0 |
