Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 &引用;获取在需要条件的上下文中指定的非布尔类型的表达式;我的查询有错误吗?_Sql Server 2008_Tsql_Stored Procedures_Dynamic - Fatal编程技术网

Sql server 2008 &引用;获取在需要条件的上下文中指定的非布尔类型的表达式;我的查询有错误吗?

Sql server 2008 &引用;获取在需要条件的上下文中指定的非布尔类型的表达式;我的查询有错误吗?,sql-server-2008,tsql,stored-procedures,dynamic,Sql Server 2008,Tsql,Stored Procedures,Dynamic,当我将此查询传递给执行动态sql的proc时,出现错误: "select @display = @display + gp2.ProblemDesc + ''|' ' from (SELECT gp.GrantProblemID, gp.ProblemDesc, gps.GrantProblemStatus, row_number() over (partition by gp.grantproblemid order by p.periodid desc) ranking from Me

当我将此查询传递给执行动态sql的proc时,出现错误:

"select @display =  @display + gp2.ProblemDesc  + ''|' '
from (SELECT gp.GrantProblemID, gp.ProblemDesc, gps.GrantProblemStatus, row_number() over (partition by gp.grantproblemid order by p.periodid desc) ranking 
from MergedProgressReport.dbo.[PeriodAgencyGrantProblems] pagp    
inner join MergedProgressReport.dbo.PeriodAgencyGrants pag on pag.PeriodAgencyGrantsID = pagp.PeriodAgencyGrantID 
and pag.GrantNumber =  ''2011UMWX0001''   
inner join MergedProgressReport.dbo.periodagencyinfo pai on pag.PeriodAgencyInfoID = pai.PeriodAgencyInfoID   
inner join MergedProgressReport.dbo.Periods p on p.PeriodID = pai.PeriodID   
inner join MergedProgressReport.dbo.GrantProblemStatus gps on pagp.GrantProblemStatusID = gps.GrantProblemStatusID  
inner join MergedProgressReport.dbo.GrantProblems gp on pagp.GrantProblemID = gp.GrantProblemID 
and gp.GrantProblemAreaID = 7) xx right join MergedProgressReport.dbo.GrantProblems gp2 on xx.GrantProblemID = gp2.GrantProblemID and xx.ranking = 1 
where gp2.GrantProblemAreaID = 7 "
我的程序:

CREATE proc [dbo].[Review_Get_PrePopValue](@sqlQuery nvarchar(500), @display nvarchar(200) OUTPUT)
as

EXEC sp_executesql @sqlQuery,   
      N'@display varchar(200) output', 
      @display = @display output

我的错误是,我的参数@sqlQuery nvarchar(500)太小了,它在我的程序中截断了我的sql语句。只是将其大小调整为3000