我正在使用以下查询,我需要在其中指定排序规则提示以避免跨数据库的排序规则问题,因为此查询使用来自 2 个数据库的表。
消息 468,级别 16,状态 9,第 12 行无法解决等于操作中“Latin1_General_CS_AI”和“Latin1_General_CS_AS”之间的排序规则冲突。
目前,当我运行一些使用具有不同排序规则的不同数据库的查询时,我遇到了排序规则冲突的错误:
Delete from table1 where oldcolumn in
(
select newcolumn from Database2.dbo.table2
where invoiceid = @invno
and complete = 0
)
我将查询更改为包含排序规则提示,如下所示:
Delete from table1 where oldcolumn COLLATE SQL_Latin1_General_CP1_CS_AS in
(
select newcolumn from Database2.dbo.table2
where invoiceid = @invno
and complete = 0
)
- 上面的查询会解决排序问题吗?
- 在运算符(例如“=”运算符)的左侧或右侧指定整理提示是否相同?
- 可以像以往一样查询
invoiceid = @invno
生成运行时排序规则冲突错误吗?
注意:我问这个问题是因为我无权访问上述 2 个数据库中的任何一个,并且脚本将在实际数据库上运行。