Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос про IF EXIST UPDATE/INSERT
|
|||
|---|---|---|---|
|
#18+
Добрый день. Помогите, пожалуйста, с запрос. Есть две таблицы storage и incoming. Надо если есть совпадения по столбцу nomenclature_id, то сделать Update, если нет - то INSERT. if exists (select storage.nomenclature_id,incoming.nomenclature_id from storage,incoming where storage.nomenclature_id=incoming.nomenclature_id and incoming.incoming_num='1' ) UPDATE storage set storage.storage_qty=storage.storage_qty+incoming.incoming_qty from incoming where storage.nomenclature_id=incoming.nomenclature_id and incoming.incoming_num='1' ELSE INSERT INTO storage(storage.nomenclature_id,storage.storage_qty) (select incoming.nomenclature_id,incoming.incoming_qty from incoming WHERE incoming.incoming_num='1' ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:29 |
|
||
|
Вопрос про IF EXIST UPDATE/INSERT
|
|||
|---|---|---|---|
|
#18+
gigar, почитай про DML оператор MERGE... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:31 |
|
||
|
Вопрос про IF EXIST UPDATE/INSERT
|
|||
|---|---|---|---|
|
#18+
До SQL2008, когда MERGE не было, делали UPDATE, а затем INSERT, прибавляя в WHERE условие AND NOT EXISTS(SELECT * FROM ... WHERE ...) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Если версия SQL2008 или более поздняя, то красивее? конечно, то же самое через MERGE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 13:10 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39588209&tid=1690450]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 372ms |

| 0 / 0 |
