类型转换的问题,谁知道?

1:
update A set Body=(select top 1 body) from B) where ID=1
2:
update A set Body=(select top 1 convert(varchar(8000),body) from B) where ID=1
问题是1语句不能更新A的Body,2语句可以,A.body类型为text,B.body类型为text.
这是为什么呢?要怎么解决?
[248 byte] By [hafeng58-海风] at [2008-1-9]
# 1
在线等呀!!
hafeng58-海风 at 2007-10-19 > top of Msdn China Tech,MS-SQL Server,应用实例...
# 2
Body在A,B表的列的属性是否一至
# 3
是一至的
hafeng58-海风 at 2007-10-19 > top of Msdn China Tech,MS-SQL Server,应用实例...
# 4
查询分析器的结果是:

在这一子查询或聚合表达式中,text、ntext 和 image 数据类型无效。

为什么???
hafeng58-海风 at 2007-10-19 > top of Msdn China Tech,MS-SQL Server,应用实例...
# 5
是不是字符编码的问题。。 用ntext 看看是否可以
hlq8210-影子 at 2007-10-19 > top of Msdn China Tech,MS-SQL Server,应用实例...
# 6
text、ntext 和 image 数据类型无效,不能直接进行更新!
zsl5305256-快乐就好! at 2007-10-19 > top of Msdn China Tech,MS-SQL Server,应用实例...