在SQL里,如何用变量代替字段名进行更新???
如果用变量可以代替字段名插入的话也可以ALTERPROCPROC_INFO@NAME1VARCHAR(50),@ROWS1INT,@NAME2VARCHAR(50),@R...
如果用变量可以代替字段名插入的话也可以
ALTER PROC PROC_INFO
@NAME1 VARCHAR(50),@ROWS1 INT,@NAME2 VARCHAR(50),@ROWS2 INT
AS
IF @NAME1!='XX'AND @NAME1!='TABLEINFO' AND @ROWS2>@ROWS1
BEGIN
DECLARE @T DATETIME
SET @T=GETDATE()
INSERT XX
(时间)
VALUES
(@T)
UPDATE XX
SET @NAME1=@ROWS2-@ROWS1
WHERE 时间=@T
END
其中更新的地方不对,请帮我看看 展开
ALTER PROC PROC_INFO
@NAME1 VARCHAR(50),@ROWS1 INT,@NAME2 VARCHAR(50),@ROWS2 INT
AS
IF @NAME1!='XX'AND @NAME1!='TABLEINFO' AND @ROWS2>@ROWS1
BEGIN
DECLARE @T DATETIME
SET @T=GETDATE()
INSERT XX
(时间)
VALUES
(@T)
UPDATE XX
SET @NAME1=@ROWS2-@ROWS1
WHERE 时间=@T
END
其中更新的地方不对,请帮我看看 展开
展开全部
举个最简单的例子,剩下的自己悟吧。
假设你的表名为Table:
declare @SQL_Text varchar(1000),@txt varchar(50)
set @txt = \'abc\'
set @SQL_Text = \'select * from Table where \'+abc+\'=0\'
exec(@SQL_Text)
以上是存储过程里的写法,在ASP里可以这样的:
ttt=\"abc\"
response.write(rs(ttt))
像你的这种情况,只要把
UPDATE XX
SET @NAME1=@ROWS2-@ROWS1
WHERE 时间=@T
改成:
exec('update XX set'+@name1+'='+@ROWS2+'-'+@ROWS1+' where 时间='+@t)
就可以了
假设你的表名为Table:
declare @SQL_Text varchar(1000),@txt varchar(50)
set @txt = \'abc\'
set @SQL_Text = \'select * from Table where \'+abc+\'=0\'
exec(@SQL_Text)
以上是存储过程里的写法,在ASP里可以这样的:
ttt=\"abc\"
response.write(rs(ttt))
像你的这种情况,只要把
UPDATE XX
SET @NAME1=@ROWS2-@ROWS1
WHERE 时间=@T
改成:
exec('update XX set'+@name1+'='+@ROWS2+'-'+@ROWS1+' where 时间='+@t)
就可以了
展开全部
你的意思是SQL语句在设计期字段名是不确定的,用存储过程sp_executesql来执行,具体请参见我的一篇拙文:
http://blog.csdn.net/ashuixu/archive/2005/03/09/315726.aspx
http://blog.csdn.net/ashuixu/archive/2005/03/09/315726.aspx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指定SQL语句的时候用 "& &" 就行了嘛。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |