MSSQL Collation при обновлении запроса - PullRequest
0 голосов
/ 24 сентября 2018

У нас есть MSSQL-сервер со связанным сервером, который содержит несколько представлений.Мы пытаемся обновить поле из таблицы на главном сервере значениями из представлений связанного сервера.

Когда мы выполняем запрос, мы получаем эту ошибку в отношении сопоставления:

Mens. 468, Nivel 16, Estado 9, Línea 6
No se puede resolver el conflicto de intercalación entre "Modern_Spanish_100_CI_AS" y "Modern_Spanish_CI_AS" de la operación equal to.

Один пример обновления, которое нам нужно сделать:

Update therefore.dbo.thecat10

Set alias = (SELECT therefore.dbo.vClientes.alias
                        From therefore.dbo.vClientes
                        Where therefore.dbo.thecat10.codigo=therefore.dbo.vClientes.código)
WHERE therefore.dbo.thecat10.codigo = ( SELECT therefore.dbo.vClientes.código
                               FROM therefore.dbo.vClientes
                               Where therefore.dbo.thecat10.codigo = therefore.dbo.vClientes.código)

Я попытался добавить сопоставление Modern_Spanish_CI_AS после сравнения, но оно не работает.

1 Ответ

0 голосов
/ 24 сентября 2018
Update cat set
  alias = cli.alias
FROM therefore.dbo.thecat10 cat
INNER JOIN therefore.dbo.vClientes cli
  on cli.código COLLATE Modern_Spanish_CI_AS = cat.codigo
WHERE cat.alias != cli.alias COLLATE Modern_Spanish_CI_AS
...