如何在存储过程中使用变量代替表名
Q atrie560lcd:
我想在存储过程中使用变量代替表名,以便对相同格式的不同的表进行数据更改,但我不知道该怎么做。
create procedure proc1
as
declare @tbname varchar(11),@cs int
update @tbname set zd1=zd1+@cs
结果显示:第4行有错误,必须声明变量 @tbname
请问应该怎样写?
A回答:
将 Update @tbname set zd1=zd1+@cs
该为:
update Table1 @tbname set zd1=zd1+@cs
或 Update Table1 as @tbname set zd1=zd1+@cs (注:table1 为原表名)
peiyan的意见:
CREATE PROCEDURE
Find_Dj @table_name varchar(20),@strsql varchar(20)
AS
declare @sql varchar(200)
set @sql='select * from '+@table_name+ ' where '+ @strsql
execute(@sql)
乐全云的意见:
create procedure proc1
as
declare @tbname varchar(11),@cs int
declare @SQLSTRING NVARCHAR(4000)
SET @SQLSTRING=N' update '+@tbname+' set zd1=zd1+'+@cs
EXEC sp_executesql @SQLSTRING
- 最新文章
- 可按任意字段排序的分页存储过程[02-28]
- 微软推预览版SQL Server 2005[02-28]
- 一个高效的数据分页的存储过程 可以轻松应付百万数据[02-28]
- PL/SQL开发中动态SQL的使用方法[02-28]
- SQL Server数据库实用小技巧集合[02-28]
- SQL Server日志清除的两种方法[02-28]
- 相关文章
