2017-05-12 76 views
0

我必須從服務器取存儲過程,去我的地方創建,但導致此錯誤:SQL Server中出現錯誤「等於操作中」Latin1_General_CI_AI「和」SQL_Latin1_General_CP1_CI_AS「之間的排序規則衝突。」

"Cannot resolve the collation conflict between "Latin1_General_CI_AI" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation." 

我不知道爲什麼我收到這個錯誤。我遵循很多鏈接,並試圖更改所有數據庫整理,但也出現錯誤。我該如何解決這個問題?

這是我的存儲過程=>

DECLARE @Specialities nvarchar(max) 

    INSERT INTO Feed // here i am getting error in sql server 
     (
      FId,   // here i am show datatype int 
      SpecialityId, // int 
      IsTagged,  // bit 
      InsertBy  // int 
     ) 
    SELECT @CaseId, 
      CategoryId, 
      1, 
      @UserId 
    FROM Categories WHERE Category IN (SELECT items FROM Split(@Specialities,';')) 
+0

的可能的複製[無法解析之間的排序規則衝突 「SQL \ _latin1 \ _General \ _CP1 \ _CI \ _As」 和 「Latin1的\ _General \ _CI \ _As」 在等於操作] (http://stackoverflow.com/questions/1607560/cannot-resolve-the-collat​​ion-conflict-between-sql-latin1-general-cp1-ci-as-and) –

+0

@InnovaITveSolutions我知道有很多用戶問這個問題,但我也看到這些鏈接,但我不想任何解決方案,然後我張貼這篇文章後。 – coderwill

+0

作爲一個快速修復;將select語句(不帶參數)粘貼到SQL Server視圖中。然後SQL Server自動將排序規則添加到select語句。查看結果並將其粘貼回來。 – phicon

回答

1

添加COLLATE到您的子查詢。嘗試兩種Latin1_General_CI_AISQL_Latin1_General_CP1_CI_AS

DECLARE @Specialities nvarchar(max) 

INSERT INTO Feed // here i am getting error in sql server 
     (
      FId,   // here i am show datatype int 
      SpecialityId, // int 
      IsTagged,  // bit 
      InsertBy  // int 
     ) 
    SELECT @CaseId, 
      CategoryId, 
      1, 
      @UserId 
    FROM Categories WHERE Category collate SQL_Latin1_General_CP1_CI_AS IN (SELECT items FROM Split(@Specialities,';')) 
相關問題