小编Mar*_*dar的帖子

创建存储过程时排序规则冲突

我正在尝试创建一个存储过程,但它给了我错误消息
Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_BIN2" in the EXCEPT operation.

问题是数据库和服务器排序规则都是SQL_Latin1_General_CP1_CI_AS,但我不知道Latin1_General_BIN2排序规则来自哪里。

create procedure [ETL_1.4.0].update_valve_event_type
(
    @data nvarchar(max)
)
as
    declare @mismatch_table table(id int, [name] varchar(50))

    if isjson(@data) = 0
    begin
        ;throw 50000,'Input argument @data is invalid JSON.', 1
    end

    insert @mismatch_table (id, [name])
    select * from
    (
        select
            value as id,
            [key] as [name]
        from openjson(@data)
        except
        select
            id,
            [name]
        from enum.valve_event
    )data

    --clear mismatches that are deemed ok, e.g. spelling corrections …
Run Code Online (Sandbox Code Playgroud)

sql-server collation json sql-server-2019

3
推荐指数
1
解决办法
2743
查看次数

标签 统计

collation ×1

json ×1

sql-server ×1

sql-server-2019 ×1