【发布时间】:2011-11-03 09:46:52
【问题描述】:
如果将以下 select 语句放在动态查询中,则它不起作用。如果它移出动态查询,它工作正常
DECLARE @sid UNIQUEIDENTIFIER , @AttributeID UNIQUEIDENTIFIER
SET @sid = 'c0b5956b-47f2-4ad6-bb9a-67a5a249e4b7'
SET @AttributeID = 'F1A0D9D6-702E-4492-9EBC-63AD22E60E6A'
DECLARE @sql NVARCHAR(MAX)
SET @sql = 'SELECT * FROM
(select [CaseID],
( select
Attr.AttributeValue
from
[dbo].[CV_CaseAttributes] Attr
Where Attr.CaseID = C.CaseID ANd Attr.AttributeID = @AttributeID
) AS CaseTitle
,[UserID]
FROM [dbo].[CaseMaster] C
WHERE SpaceID = @sid
)
AS Details'
EXEC sp_executesql @sql
,N'@sid UNIQUEIDENTIFIER,@AttributeID UNIQUEIDENTIFIER'
,@sid=@sid,@AttributeID =@AttributeID
错误信息
消息 102,第 15 级,状态 1,第 2 行
',' 附近的语法不正确。
消息 156,第 15 级,状态 1,第 8 行
关键字“AS”附近的语法不正确。
为什么会这样?
【问题讨论】:
标签: sql-server-2008 dynamic subquery