ghasem110deh
چهارشنبه 27 آبان 1394, 15:39 عصر
سلام به همه ...
دوستان من روی جدول کالا قابلیت full text search رو فعال کردم (روی نام کالا)
و جدول کالا در یک view استفاده کردم برای گرفتن مشخصات کامل کالا (تصویر ضمیمه)
حالا یه پروسیجر دارم واسه جستجو بر حسب چند پارامتر (که تو ویو هست)
ALTER PROCEDURE [dbo].[SP_AdvanceSearch] (
@Code int,
@Name nvarchar(50)= null,
@Warehouse nvarchar(50)= null,
@Category nvarchar(50) = null,
@Group nvarchar(50) = null,
@OrderBy varchar(5) = null,
@OrderBy_Two varchar(5) = null
)
AS
BEGIN
DECLARE @Asc varchar(5) = @OrderBy
DECLARE @Asc_Two varchar(5) = @OrderBy_Two
SELECT * FROM [dbo].[View_Full_Commodity]
WHERE
(Name LIKE COALESCE(N''+@Name+'', Name)
AND Commodity_Code = COALESCE(@Code, Commodity_Code)
AND Expr1 LIKE COALESCE(N''+@Warehouse+'', Expr1)
AND Expr3 LIKE COALESCE(N''+@Category+'', Expr3)
AND Expr4 LIKE COALESCE(N''+@Group+'', Expr4)
) ORDER BY CASE WHEN @Asc = 'ASC' THEN Expr1 END ASC,
CASE WHEN @Asc_Two = 'ASC' THEN Expr3 END ASC
END
حالا چطور میشه از دستورات full text توی کوئری پروسیجر استفاده کرد (در جستجوی نام کالا)
select * from Tbl_Commodity WHERE FREETEXT(*, @Name)
کوئری بالا کلا خطا میده وقتی بجای
(Name LIKE COALESCE(N''+@Name+'', Name)
قرار میگیره ...
یا اصلا میشه full text search رو روی view ایجاد گرد ؟ چون واسه من همون اول (که دنبال ایندکس میگرده) خطا داد !
دوستان من روی جدول کالا قابلیت full text search رو فعال کردم (روی نام کالا)
و جدول کالا در یک view استفاده کردم برای گرفتن مشخصات کامل کالا (تصویر ضمیمه)
حالا یه پروسیجر دارم واسه جستجو بر حسب چند پارامتر (که تو ویو هست)
ALTER PROCEDURE [dbo].[SP_AdvanceSearch] (
@Code int,
@Name nvarchar(50)= null,
@Warehouse nvarchar(50)= null,
@Category nvarchar(50) = null,
@Group nvarchar(50) = null,
@OrderBy varchar(5) = null,
@OrderBy_Two varchar(5) = null
)
AS
BEGIN
DECLARE @Asc varchar(5) = @OrderBy
DECLARE @Asc_Two varchar(5) = @OrderBy_Two
SELECT * FROM [dbo].[View_Full_Commodity]
WHERE
(Name LIKE COALESCE(N''+@Name+'', Name)
AND Commodity_Code = COALESCE(@Code, Commodity_Code)
AND Expr1 LIKE COALESCE(N''+@Warehouse+'', Expr1)
AND Expr3 LIKE COALESCE(N''+@Category+'', Expr3)
AND Expr4 LIKE COALESCE(N''+@Group+'', Expr4)
) ORDER BY CASE WHEN @Asc = 'ASC' THEN Expr1 END ASC,
CASE WHEN @Asc_Two = 'ASC' THEN Expr3 END ASC
END
حالا چطور میشه از دستورات full text توی کوئری پروسیجر استفاده کرد (در جستجوی نام کالا)
select * from Tbl_Commodity WHERE FREETEXT(*, @Name)
کوئری بالا کلا خطا میده وقتی بجای
(Name LIKE COALESCE(N''+@Name+'', Name)
قرار میگیره ...
یا اصلا میشه full text search رو روی view ایجاد گرد ؟ چون واسه من همون اول (که دنبال ایندکس میگرده) خطا داد !