学习才是硬道理  

在编写存储过程中遇到这样一个问题, 把一个表里(@表名)的某个id号某个字段(@修改字段)(int类型)的 做自加或者自减处理,以下是代码:
思路是先找到原有值,自加后在执行@sting 储存

CREATE PROCEDURE [update_inc_信息]
 (@id  [int],
 @表名 [nvarchar](50),
 @字段名 [nvarchar](50),
 @修改字段 [nvarchar](50)
  )

AS
declare @sting as nvarchar(200)
declare @sting2 as nvarchar(200)
declare @值 as int
--查找该字段的原有值
set @sting2 ="declare @值 as int select top 1 @值=" + @修改字段 + " from " + @表名 + " where ( " + @字段名 + " =" +str(@id) +")"
exec (@sting2)
-- +1
set  @值=@值+1
-- 储存
set @sting=" UPDATE "+ @表名+ " SET "+ @修改字段 +"="+str(@值)+"WHERE ( " + @字段名 + "="+ str(@id)+")"
exec (@sting)
GO


但是始终不能实现自加功能 请问各位是什么原因 应该怎么办呀

posted on 2005-04-23 19:18  永恒瞬间  阅读(898)  评论(1)    收藏  举报