Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
UPDATE с объединением
|
|||
|---|---|---|---|
|
#18+
Запрос в принципе простой В MS SQL-е это было бы так Код: plaintext 1. 2. 3. 4. То есть мне надо проапдейтить таблицу t1 значениями из t2 при совпадении ИД Как подобное делается в DB2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 18:57 |
|
||
|
UPDATE с объединением
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. Стандарт SQL92 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 19:41 |
|
||
|
UPDATE с объединением
|
|||
|---|---|---|---|
|
#18+
mustaccio, Ошибочка вышла Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 19:42 |
|
||
|
UPDATE с объединением
|
|||
|---|---|---|---|
|
#18+
mustacciomustaccio, Ошибочка вышла Код: plaintext 1. 2. Оно, конечно, да, но есть один момент. Если делать джоин как в моём примере, то в таблице проапдейтится 10 строк из 10 000. В вашем примере база будет пытаться проапдейтить все 10к строк, постоянно натыкаясь на отсутствие соответствий. Так что хотелось бы этот момент обойти. Или ДБ2 достаточно умная и, чтоб соптимизировать этот запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 20:31 |
|
||
|
UPDATE с объединением
|
|||
|---|---|---|---|
|
#18+
Запрос будет делать то, что в нем написано, и оптимизация тут вовсе ни при чем. Если вам нужно выбрать записи в Т1 по какому-то критерию, этот критерий должен быть указан в кляузе WHERE. Согласно тому же стандарту. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 20:42 |
|
||
|
UPDATE с объединением
|
|||
|---|---|---|---|
|
#18+
Ну если без стандартов, то оператор merge поможет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2008, 11:40 |
|
||
|
UPDATE с объединением
|
|||
|---|---|---|---|
|
#18+
TORTНу если без стандартов, то оператор merge поможет... О! Кажется оно Код: plaintext 1. 2. 3. 4. 5. Я правильно понимаю происходящее? 2 mustaccio >>Запрос будет делать то, что в нем написано, и оптимизация тут вовсе ни при чем Оно, конечно, так, но когда пишешь что-то реальное, то оптимизация становится очень даже причём. С ДБ2 я работаю немного, поэтому оптимизатор этой СУБД меня очень даже интересует. Оптимизатор MS SQL вполне мог начать делать по 2 запроса на каждую из строк в Т1 в вашем запросе А вот мой запрос, который я приводил в качестве примера, отрабатывает хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 14:18 |
|
||
|
UPDATE с объединением
|
|||
|---|---|---|---|
|
#18+
По-моему для Вашей задачи merge самое то... Там правда есть различные ограничения по его использованию, ну это Вам лучше в доку глянуть.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 16:28 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=35669473&tid=1603569]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 350ms |

| 0 / 0 |
