临时表和整理问题?

时间:2014-05-27 11:30:53

标签: sql sql-server sql-server-2012

我的服务器数据库默认排序规则为Arabic_CI_AS。在我的应用程序中,我从不在任何地方设置校对。但是当我运行这个简单的SQL时,

CREATE TABLE #TempProductInventory
(
    PID int 
    ,InvTypeValue nvarchar(MAX) 
    ,InvTypeKey nvarchar(MAX) 
                        );

SELECT * 
FROM    #TempProductInventory TP
INNER JOIN dbo.[Sources] S ON (S.Code = TP.InvTypeKey)

我到了,

Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Arabic_CI_AS" in the equal to operation. When I un,

当我跑步时,

SELECT col.name, col.collation_name FROM  sys.columns col WHERE object_id = OBJECT_ID('Sources')

我会得到,

name    collation_name
ID         NULL
Code       Arabic_CI_AS

1 个答案:

答案 0 :(得分:1)

尝试此操作,它会将临​​时表的排序规则设置为您指定的排序规则 发生这种情况的最可能原因如GarethD所述,临时数据库冲突设置为Arabic_CI_AS

CREATE TABLE #TempProductInventory( PID int ,InvTypeValue nvarchar(MAX) ,InvTypeKey nvarchar(MAX) Collate "Arabic_CI_AS")