读书人

请教这句话错哪了

发布时间: 2012-04-13 13:50:24 作者: rapoo

请问这句话哪里错了?

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 行受影响)*/ 

读书人网 >SQL Server

热点推荐