PDA

View Full Version : عدم اجراي دستور Like درون يك StoredProcedure



skysky
شنبه 25 تیر 1390, 10:21 صبح
سلام. يه دستور like توي پروسيجر نوشتم، حلا كه پروسيجر را فراخوني ميكنم چيزي نشون نميده چرا؟؟؟؟ فكر

ميكنم دستور like رو بايد طور ديگهاي بنويسم.ممنون

‍CREATE PROCEDURE dbo.Sp_MoshakhasatFname
@fname nvarchar(50)
AS
SELECT request.fname,request.request_date,request.lname, request.status,
bound.bound,city_name,center_name FROM request INNER JOIN tariff
ON request.tariff_id = tariff.tariff_id
LIKE N
'%@fname%'
RETURN

ParsaNM
شنبه 25 تیر 1390, 11:25 صبح
دوست عزيز دستور like رو اشتباه نوشتي کدت تقريبا بايد به اينصورت باشه



where [yourcoloumn] like '%[فيلتر مورد نظر]%'

Galawij
شنبه 25 تیر 1390, 12:43 عصر
سلام
یک راهش استفاده از SQL مدفونه. مثال زیر را می ذارم(چک کردم، جواب می ده) متناسب با اسم فیلدها و جدول هاتون تغییر بدید.

AlterPROCEDURE dbo.Sp_MoshakhasatFname (@fname nvarchar(50))
AS
declare @Sql nvarchar(500)
set @Sql=N'SET @fname = ''%'' + @fname + ''%''; SELECT CityName,ProvinceName FROM TbProvinces INNER JOIN TbCities ON TbProvinces.IdProvince = TbCities.Id_Province where TbProvinces.ProvinceName Like @fname';
EXECUTEsp_executesql @Sql,N'@fname nvarchar(50)',@fname;
RETURN