Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
UPDATE в БД MySQL из MS SQL (через Linked Server)
|
|||
|---|---|---|---|
|
#18+
Доброго всем времени суток! Моя проблем касается и MySQL и MS SQL, но всё-таки решил уточнить её здесь. Задача: со стороны MS SQL сервера обновить данные в таблице MySQL. Но UPDATE должен быть с соединением таблиц. Я написал такой UPDATE: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. После его выполнения, в целевой таблице на стороне MySQL - у всех записей поле saldo обновилось значением первой строки результата запроса, который я использую для UPDATE. Если я пробую вывести результат на стороне MS SQL запросом, который используется в UPDATE - то значения получаются те , что надо. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Вопрос: что я делаю не так? MySQL вообще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 17:19 |
|
||
|
UPDATE в БД MySQL из MS SQL (через Linked Server)
|
|||
|---|---|---|---|
|
#18+
вот результат на стороне MS SQL: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 17:21 |
|
||
|
UPDATE в БД MySQL из MS SQL (через Linked Server)
|
|||
|---|---|---|---|
|
#18+
Romka-Fes, "MySQL вообще" - опечатался, имелось в виду "MySQL вообще понимает такие UPDATE?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 17:23 |
|
||
|
UPDATE в БД MySQL из MS SQL (через Linked Server)
|
|||
|---|---|---|---|
|
#18+
Версия MySQL: 5.6.27-75.0-log ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 17:24 |
|
||
|
UPDATE в БД MySQL из MS SQL (через Linked Server)
|
|||
|---|---|---|---|
|
#18+
Пока выкрутился путём записи новых данных в временную таблицу и UPDATE на стороне MySQL через JOIN с ней: Код: sql 1. Но проблема таки имеет место быть. То-ли это MySQL ODBC драйвер такое вытворяет, то ли сам MySQL. Вот в чём вопрос.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2017, 09:47 |
|
||
|
UPDATE в БД MySQL из MS SQL (через Linked Server)
|
|||
|---|---|---|---|
|
#18+
Romka-Fes, А почему внешнее соединение? Т.е. почему LEFT OUTER JOIN, а не просто JOIN ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2017, 12:32 |
|
||
|
UPDATE в БД MySQL из MS SQL (через Linked Server)
|
|||
|---|---|---|---|
|
#18+
miksoft, потому что не по каждому контрагенту может быть соответствующая запись из таблицы, с которой я делаю соединение. На скрине выше видно много NULL в поле [Дебет]. Если я сделаю JOIN - то в результате будут только те контрагенты, у которых есть деб. задолженность. А это совсем не то, что мне нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2017, 09:26 |
|
||
|
UPDATE в БД MySQL из MS SQL (через Linked Server)
|
|||
|---|---|---|---|
|
#18+
Romka-Fesмного NULL в поле [Дебет]Ну если вас устраивает, что в поле saldo будет записан NULL, то пусть так. Попробуйте как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Я не знаю синтаксис MS SQL, писал по аналогии из документации по MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2017, 15:35 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39551213&tid=1830278]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 139ms |

| 0 / 0 |
