请问这句话哪里错了?
user 表里有
id name
1 张三
2 李四
declare @name varchar(20)
EXEC ('SELECT '+ @name+'=name FROM user WHERE ID=1')
报如下错误:
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '=' 附近有语法错误。
这是为什么呢?
能详解下动态SQL吗?
[解决办法]
--user 表里有 CREATE TABLE TEST(id INT, name NVARCHAR(10)) INSERT TEST SELECT 1 , N'张三' INSERT TEST SELECT 2, N'李四' EXEC ('declare @name Nvarchar(20) ; SELECT @name=name FROM TEST WHERE ID=1 SELECT @NAME') DROP TABLE TEST/*--------------------张三(1 行受影响)*/