Я пытаюсь выполнить следующую процедуру в SQL Server 2005. Мне удалось выполнить это на моем сервере разработки, и когда я пытался использовать это на Live Server, я получаю сообщение об ошибке «Внутренняя ошибка обработчика запросов: запрос процессор не может создать план запроса. Для получения дополнительной информации обратитесь в службу поддержки клиентов ". Я использую ту же базу данных и тот же формат. Когда мы искали в Интернете, он показывает некоторые исправления, которые будут использоваться в SQL Server 2005, чтобы избежать этой ошибки, но мой администратор БД подтвердил, что все исправления обновлены на нашем сервере. Кто-нибудь может дать мне некоторую подсказку об этом.
Запрос:
create Procedure [dbo].[sample_Select]
@ID as varchar(40)
as
Declare @Execstring as varchar(1000)
set @Execstring =
'
Declare @MID as varchar(40)
Set @MID = '''+@ID+'''
select * from (
select t1.field1, t1.field2 AS field2 , t1.field3 AS field3 , L.field1 AS field1 , L. field2 AS field2 from table1 AS t1
INNER JOIN MasterTable AS L ON L. field1 = t1. field2
where t1. field2 LIKE @MID
) as DataTable
PIVOT
(
Count(field2)
FOR field3
IN ('
Select @Execstring=@Execstring+ L.field2 +',' FROM MasterTable AS L inner join
table1 AS t1 ON t1.field1= L.field2 Where t1.field2 LIKE @ID
set @Execstring = stuff(@Execstring, len(@Execstring), 1, '')
set @Execstring =@Execstring +')) as pivotTable'
exec (@Execstring)