2016-03-07 112 views
0

我得到一个不是一个有效的标识符错误。我尝试调整引号,但仍然无法正确引用。openrowset错误中的动态sql“不是有效的标识符。”

TIY

DECLARE @DynamicPivotQuery AS NVARCHAR(MAX) 
DECLARE @ColumnName AS NVARCHAR(MAX) 
DECLARE @DynamicQuery AS NVARCHAR(MAX) 

--Get distinct values of the PIVOT Column 
SELECT @ColumnName= ISNULL(@ColumnName + ',','') 
     + QUOTENAME(CovCode) 
FROM (SELECT distinct 
    CovCode 

FROM Construct.dbo.View_Claim_SummaryPTS4PTS5Diamond where system in (4,5)) AS ClaimSummary 

--Prepare the PIVOT query using the dynamic 
SET @DynamicPivotQuery = 
    N'SELECT vehicleid, ' + @ColumnName + ' 
    FROM Construct.dbo.View_Claim_SummaryPTS4PTS5Diamond 
    PIVOT(max(Claim_Exp_Nbr) 
      FOR CovCode IN (' + @ColumnName + ')) AS PVTTable' 

Set @DynamicQuery = 'Select * into #tmpcde from openrowset(''SQLNCLI'', ''Server=HPL-DSQL2\HPLDSQL2;Trusted_Connection=yes;'', '''Exec @DynamicPivotQuery''')' 
exec (@DynamicQuery) 

Select * from #tmpcde 
+0

'打印@ DynamicPivotQuery' –

+0

难道我的回答可以帮助您以任何方式? –

回答

0

我想你想这样的:

Set @DynamicQuery = 'Select * into #tmpcde from openrowset(''SQLNCLI'', ''Server=HPL-DSQL2\HPLDSQL2;Trusted_Connection=yes;'', '''[email protected]+''')'; 
相关问题