update ts_tables set tname=convert(varchar,c.value) from
(select * from ::fn_listextendedproperty('MS_Description','user','dbo','table',default,default,default)) c
where tid=c.objname;
(select * from ::fn_listextendedproperty('MS_Description','user','dbo','table',default,default,default)) c
where tid=c.objname;
在Sql2000中一直是这样使用的没有发现问题。可是最近放到Sql Express2005中运行,确发生了如下错误:
Msg 468, Level 16, State 9, Line 1
Cannot resolve the collation conflict between "Latin1_General_CI_AI" and "Chinese_PRC_CI_AS" in the equal to operation.
update ts_tables set tname=convert(varchar,c.value) from
(select * from ::fn_listextendedproperty('MS_Description','user','dbo','table',default,default,default)) c
where tid=c.objname COLLATE Chinese_PRC_CI_AS;
不知道这是不是Sql Express2005的一个Bug(select * from ::fn_listextendedproperty('MS_Description','user','dbo','table',default,default,default)) c
where tid=c.objname COLLATE Chinese_PRC_CI_AS;