我收到一个错误“无法在'insertted'和'deleted'表中使用text,ntext或image列”,因为原始表中有ntext字段,所以我已经附加了触发器。

这是一个解决方案:http://lazycodeprogrammer.blogspot.com/2009/08/how-to-use-inserteddeleted-with.html

但是原始(未修改)查询非常复杂。推荐使用JOIN运算符代替SELECT * FROM INSERTED来写什么?

最佳答案

真正的问题是您试图在插入的表中选择ntext,text或image类型的列。触发器中不允许这样做。

真正的解决方案是按照MS的建议将所有ntext更改为nvarchar(max),将文本更改为varchar(max),将图像更改为varbinary(max)。

MS指出这些类型已被弃用,并将在以后的版本中删除。

另外,由于没有行内数据,因此ntext的性能确实很慢。

关于sql-server - 无法在“已插入”和“已删除”表中使用text,ntext或image列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3178312/

10-09 18:55