我想实现一个效果,我写了一个存储过程,我想传递三个数,一个是表名字,一个是字段名,一个是字段的值,
我想通过存储过程来修改表里边字段的值,
我写了一点存储过程,但是出错,希望大侠们指点下,小弟感激不尽
create Procedure up
@table varchar(50),
@zid varchar(50),
@value varchar(100)begin
exec('update'+@table+'set'+@zid=@value)
end
我想通过存储过程来修改表里边字段的值,
我写了一点存储过程,但是出错,希望大侠们指点下,小弟感激不尽
create Procedure up
@table varchar(50),
@zid varchar(50),
@value varchar(100)begin
exec('update'+@table+'set'+@zid=@value)
end
@table varchar(50),
@zid varchar(50),
@value varchar(100) begin
exec('update'+@table+' set ' + @zid + ' = ' + @value )
end
先print(@sql) 看一下拼接的SQL語句是否正確.
create Procedure up
@table varchar(50),
@zid varchar(50),
@value varchar(100),
@zhi varchar(50)
as
begin
exec('update'+@table+' set ' + @zid + ' = ' + @value+'where'+@zid+'='+@zhi)
end
exec up car_inf,carid,6,1
create Procedure up
@table varchar(50),
@zid varchar(50),
@value varchar(100),
@zhi varchar(50)
as
begin
exec('update '+@table+' set ' + @zid + ' = ' + @value+' where '+@zid+'='+@zhi)
end
exec up car_inf,carid,6,1
@table varchar(50),
@zid varchar(50),
@value varchar(100)
as
declare @sql nvarchar(4000)
set @sql=N'update '+@table+N' set '+@zid+N'='+quotename(@value,N'''')--字符型,如果不是QUOTENAME取消即可
print @sql
exec(@sql)
go
create Procedure up
@table varchar(50), --表名
@zid varchar(50), --字段
@value varchar(100), --要更改的字段的值
@zhi varchar(50) --更改条件
as
begin
exec('update ' +@table+ ' set ' +@zid+'='+@value+ ' where ' +@zid+'='+@zhi)
end ,
我结贴了谢谢大家