CREATE PROCEDURE updatanews 
@lm nvarchar(20),
@title nvarchar(50),
@titlecoloc nchar(7),
@bj nvarchar(20),
@ly nvarchar(30),
@content ntext,
@tableName nvarchar(20),
@id int
AS
begin
declare @sql Nvarchar (4000)
set @sql='updata ' + @tableName + ' set  
lm =@lm,
title= @title ,
titlecoloc =@titlecoloc,
bj =@bj,
ly = @ly ,
content = @content 
 where id=@id'
exec sp_executesql @sql,N'
@lm nvarchar(20),
@title nvarchar(50),
@titlecoloc nchar(7),
@bj nvarchar(20),
@ly nvarchar(30),
@content ntext,
@tableName nvarchar(20),
@id int',
@lm ,
@title ,
@titlecoloc ,
@bj ,
@ly ,
@content ,
@tableName ,
@id 
end
GO
这样子有没有错呀

解决方案 »

  1.   

    http://dev.csdn.net/article/71/71133.shtm
    参考
      

  2.   

    我是有一个字段(context)是TEXT的,是不是不能和别的字段一起更新,还是要分开更新呀,就是分两次更新,第一次用平常的更新,更新不是text,image,字段的,第二次再更新text,image字段的呀,还有,就是如果是添加text字段,是不是可以直接用insert呀DECLARE @ptrval binary(16)
    SELECT @ptrval = TEXTPTR(pr_info) 
    FROM pub_info pr, publishers p
    WHERE p.pub_id = pr.pub_id 
    AND p.pub_name = 'New Moon Books'
    UPDATETEXT pub_info.pr_info @ptrval 88 1 'b'
    能帮我说说这个是什么意思不哟,太菜了,看不明白