exec не удалось, потому что имя не является допустимым идентификатором?
USE [ABC] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER Procedure [dbo].[LibFetchFilterItem] @Query nvarchar(1000) AS Begin set nocount on DECLARE @str varchar(8000) SET @str = N' select ID ,case when i.CodeVersion>1 then i.Code+''+.+''+convert(varchar,i.CodeVersion) else i.Code end as Code ,i.OldCode ,HRMS.dbo.InitialCap(i.[Name]) as Name ,i.[Description] ,d.DeptName as Department ,HRMS.dbo.InitialCap(p.[Name]) as Product ,Edition ,[Version] ,PublisherBrand ,Country ,KeywordDesc ,l.[name] as Location ,HRMS.dbo.InitialCap(s.[Name]) as SubCategory ,Synopsis ,i.Website from LIBMstItem i inner join LIBMstLocation l on i.LocationId=l.LocationId inner join LIBMstProduct p on i.ProductCategory = p.Id Left outer join HRMS.dbo.Master_EmployeeMaster u on i.BroughtBy=u.[NewID] Left outer join dynamicreport.dbo.CompanyMst c on i.CompanyId = c.CompanyId Left outer join HRMS.dbo.Master_DepartmentMaster d on i.DepartmentID = d.RowID inner join LIBMstSubCategory s on i.SubCategory = s.Id where (i.Scrap is null or i.Scrap=0) and i.IsActive=1 and i.KitId=0' + ' ' + @Query + ' ' + 'and 0=0 order by i.ID' PRINT @str EXEC @str end go
Когда я выполняю описанную выше процедуру, она успешно компилируется, но когда я запускаю ее с помощью этого оператора EXEC LibFetchFilterItem 'и i.Code="10"' затем
Msg 203, Уровень 16, Состояние 2, Процедура LibFetchFilterItem, Строка 40
Имя '
выберите идентификатор
,случай, когда я.CodeVersion и GT;1 тогда я.Код+'+.+'+конвертировать(тип varchar,я.CodeVersion) еще я.Конец код как код
я.OldCode
,HRMS.dbo.InitialCap(i.[Name]) в качестве имени
,i.[описание]
д DeptName как отдел
,HRMS.dbo.InitialCap(p.[Name]) как продукт
,Издание
,[Версия]
,PublisherBrand
,Страна
,KeywordDesc
,l.[имя] как местоположение
,HRMS.dbo.InitialCap(s.[Имя]) как подкатегория
,Краткий обзор
,i.веб-сайт
из LIBMstItem я внутреннее соединение LIBMstLocation Л О я.Идентификатор locationId=л.Идентификатор locationId
внутреннее соединение LIBMstProduct P на мне.Категорияпродукта = стр. Идентификатор
Left outer join HRMS.dbo.Master_EmployeeMaster u on i.Brought' не является допустимым идентификатором.
произошла ошибка .. Но когда я просто печатаю запрос, он на 100% прав ...
Пожалуйста, помогите мне ...
_Asif_
Вы не опубликовали значение @Query. Дайте нам знать значение @Query.
Hitesh Vaghasiya
Старпома LibFetchFilterItem - и я.код="10".
Здесь
и я.код="10"
является ли значение @Query
_Asif_
можете ли вы вставить последний запрос. Кроме того, вы проверили запрос, выполнив последний в анализаторе запросов?