今天調試存儲過程遇到"无法解决 equal to 运算中 “Chinese_PRC_CI_AS” 和 “Chinese_Taiwan_Stroke_90_BIN” 之间的排序规则冲突。"的錯誤信息.經查找錯誤,應該是sp中建立的臨時表的排序規則與當前數據庫的排序規則不一致.為了避免這個問題,我們在創建臨時表的時候最好指定字符欄位的排序規則與當前資料庫一致.
在 SQL 中,可以使用 COLLATE 子句來指定字符型欄位的排序規則。
要在創建臨時表時指定字符型欄位的排序規則為當前資料庫的排序規則,可以使用以下語法:
CREATE TABLE #temp_table_name (
column1 datatype COLLATE database_default,
column2 datatype COLLATE database_default,
...
);
在這裡,database_default 是當前資料庫的排序規則。透過在 COLLATE 子句中使用 database_default,可以讓臨時表的字符型欄位繼承當前資料庫的排序規則。