日期:2014-05-16 浏览次数:20583 次
DECLARE @Sql NVARCHAR(200);
DECLARE @parm varchar(4);
set @parm = 'abc';
---下面这个能成功!----
SET @Sql = 'UPDATE tableA SET '+@parm+'=0 where biaozhi=111111';
EXEC(@sql);
--下面这个虽然没出错,但是实际没有更新为0
SET @Sql = N'UPDATE tableA SET @parm=0 where biaozhi=111111';
EXECUTE sp_executesql @Sql, N'@parm varchar(4)',@parm;
DECLARE @Sql NVARCHAR(200);这个呢?
DECLARE @parm nvarchar(10);
set @parm =N 'abc';
--下面这个虽然没出错,但是实际没有更新为0
SET @Sql = N'UPDATE tableA SET @parm=0 where biaozhi=111111';
EXECUTE sp_executesql @Sql, N'@parm nvarchar(10)',@parm;
--下面这个虽然没出错,但是实际没有更新为0
SET @Sql = N'UPDATE tableA SET '+@parm + ' =0 where biaozhi=111111';
EXECUTE sp_executesql @Sql