存储过程中的整理问题

时间:2016-05-06 11:43:38

标签: sql sql-server

我得到'无法解决" Latin1_General_CI_AS"之间的整理冲突和" SQL_Latin1_General_CP1_CI_AS"在等于操作。'错误。

错误发生在SP中,我没有在任何地方指定归类,无论是在创建表中还是在我使用时

select t.name, c.*, c.collation_name 
from sys.columns c
left join sys.tables t
on c.object_id = t.object_id
order by c.collation_name 

它说没有' Latin1_General_CI_AS'字段,所有字段都使用默认排序规则。我正在返回数据集,但无法查看错误的位置。没有连接。我正在填充一个临时表,再次,没有指定排序规则,但它说有错误。有什么建议。使用SQL Server 2014。

1 个答案:

答案 0 :(得分:2)

默认情况下,临时表使用tempdb的排序规则,除非在contained database的上下文中使用。

您可以指定COLLATE DATABASE_DEFAULT以使其使用当前数据库的排序规则。

CREATE TABLE #T
(
SomeColumn VARCHAR(50) COLLATE DATABASE_DEFAULT
)