当前位置: 代码迷 >> Sql Server >> 请教这句话错哪了
  详细解决方案

请教这句话错哪了

热度:89   发布时间:2016-04-27 13:25:00.0
请问这句话哪里错了?

user 表里有
id name
1 张三
2 李四

declare @name varchar(20)
EXEC ('SELECT '+ @name+'=name FROM user WHERE ID=1')
报如下错误:
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '=' 附近有语法错误。

这是为什么呢?

能详解下动态SQL吗?

------解决方案--------------------
SQL code
--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 行受影响)*/
  相关解决方案