gpt4 book ai didi

sql - 排序规则冲突错误,将存储过程的排序规则设置为数据库默认值

转载 作者:行者123 更新时间:2023-12-02 23:42:27 26 4
gpt4 key购买 nike

如何将存储过程的 COLLATION 设置为数据库默认值,而不是该过程中表的单个列。

Cannot resolve the collation conflict between “SQL_Latin1_General_Pref_CP1_CI_AS” and “Latin1_General_CI_AS” in the equal to operation

我收到排序规则冲突错误,因为数据库服务器排序规则与数据库排序规则不同。程序庞大,不知道哪个表列发生冲突。

是否可以为存储过程分配排序规则,以便该过程中的所有列都具有相同的排序规则?

最佳答案

首先,排序规则是关于文本数据如何存储在表中的,而不是存储过程级别的。

当从文本排序规则存储方式不同的源中比较文本数据时,会出现排序规则问题。 (我不是说文本的数据类型,只是字符串数据)

检查 TSQL where 子句或表连接,这是最常见的文本比较发生的地方。您可以使用比较区域旁边的整理功能来整理到数据库默认值。例如

SELECT
c.CustomerID
FROM
dbo.Customer c
INNER JOIN dbo.CustomerLog cl on c.CustomerName = cl.LogEntry collate
database_default

根据您的具体情况,这可能是不可能的,但我始终遵循这些规则。
- 在安装时选择正确的服务器默认排序规则,以便在该排序规则下创建临时数据库,当您创建临时表时,这些将在临时数据库中创建
- 创建表时不要指定排序规则,除非有特定原因

关于sql - 排序规则冲突错误,将存储过程的排序规则设置为数据库默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13677272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com