MS SqlServer之Exec和EXEC SP_EXECUTESQL
exec执行sql时字符串时,不能给变量赋值,如果要在sql里给变量赋值,请用EXEC SP_EXECUTESQL
示例:
通过 SP_EXECUTESQL 的第2个参数来定义有哪些参数 输出的加OUTPUT 后面的参数为执行的时候,具体参数的数据。输出的加OUTPUT BEGIN DECLARE @Sql NVARCHAR(200); DECLARE @name VARCHAR(10); SET @Sql = 'SELECT @name = name FROM test_dysql WHERE id=1'; PRINT @Sql; EXEC SP_EXECUTESQL @Sql, N'@name VARCHAR(10) OUTPUT', @name OUTPUT; PRINT @name; END go SELECT @name = name FROM test_dysql WHERE id=1 A