这是我把存储过程中的一部分来贴上去的。
有#temp表:col1,col2 和abc表:col1,col2,col3其中有#temp.col1=abc.col1
select #temp.col1,#temp.col2,abc.col2,abc.col3 from #temp inner join abc on #temp.col1=abc.col1
出现无法解决 equal to 操作的排序规则冲突。

解决方案 »

  1.   

    应该是你的数据库采用了不同的排序规则造成的.可以强制指定排序规则解决,注意只加在字符列上delete  bj_cpjg_jg_fl from bj_cpjg_jg_fl as a,#sz_temp as b 
    where a.cpbh=@str_cpbh and a.wl_id collate Chinese_PRC_CI_AS= b.sz_wldelete from bj_cpjg_jg_fl where cpbh=@str_cpbh and wl_id  collate Chinese_PRC_CI_AS= (select sz_wl from #sz_temp where sz_wl like 'E%' )
      

  2.   

    CREATE TABLE #(
    NAME VARCHAR(10) COLLATE database_default  --或者创建临时表的时候指定与当前数据库一致的排序规则
    )--或者手工指定与当前查询使用的表中的对应列一致的排序规则
      

  3.   

    我在sysobject中看到我的#DNtemp_____________,而我的实际临时表明为#DNtemp,后面的“___________”为什么意思
      

  4.   

    --我在sysobject中看到我的#DNtemp_____________,而我的实际临时表明为#DNtemp,后面的“___________”为什么意思临时表是这样的 所以不同的用户才可能建同一个名称的表而不会冲突
      

  5.   

    1、应该是你的数据库采用了不同的排序规则造成的.可以强制指定排序规则解决,用xluzhong(Ralph) 的就可以了2、在就是把排序规则改为一致就可以了