2017-02-09 2 views
-1

У меня есть следующий код, и я получаю следующее сообщение об ошибке:Collation конфликт для не присоединиться к T-SQL код

Msg 468, Level 16, State 9, Line 37 
Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS_KS_WS" in the equal to operation. 

Что я должен сделать, чтобы решить эту проблему? Все, что я нашел в Интернете, связано с объединенными таблицами.

IF OBJECT_ID('SeanVault.dbo.TempVarIDs', 'U') IS NOT NULL 
     DROP TABLE SeanVault.dbo.TempVarIDs; 
    Select VariableID, VariableName 
    INTO SeanVault.dbo.TempVarIDs 
    from Variable 
      Where VariableName in (select VariableName from SeanVault.dbo.TempVarNames) 
+0

'Где VariableName в (выберите VARIABLENAME из SeanVault.dbo.TempVarNames) КОПИИ SQL_Latin1_General_CP1_CI_AS' – Lamak

+0

@Lamak Почему это комментарий, а не ответ? – iamdave

+0

@iamdave Потому что ответ только на код не является хорошим ответом ... и я немного устал, поэтому не хочу писать, что нужно, чтобы сделать его хорошим ответом – Lamak

ответ

0

Ваши два столбца VariableID и VariableNames имеют различную сортировку. Вы можете обойти настройки сортировки (если вы не контролируете модель данных, например), путем предоставления явной сверки:

IF OBJECT_ID('SeanVault.dbo.TempVarIDs', 'U') IS NOT NULL 
    DROP TABLE SeanVault.dbo.TempVarIDs; 
Select VariableID, VariableName 
INTO SeanVault.dbo.TempVarIDs 
from Variable 
Where VariableName COLLATE SQL_Latin1_General_CP1_CI_AS in (select VariableName COLLATE SQL_Latin1_General_CP1_CI_AS from SeanVault.dbo.TempVarNames) 

Долгосрочное решением будет АЬТЕЕ определением столбцы и добавить нужные параметры сортировки :

ALTER TABLE Variable 
     ALTER COLUMN VariableID COLLATE SQL_Latin1_General_CP1_CI_AS 
GO 

    ALTER TABLE TempVarNames 
     ALTER COLUMN TempVarNames COLLATE SQL_Latin1_General_CP1_CI_AS 
GO 
+0

Отлично! спасибо, что это сработало. Эти таблицы используются временно и отбрасываются после выполнения процедуры, поэтому я не думаю, что поеду по маршруту ALTER. – SeanDon

Смежные вопросы