PDA

View Full Version : نوشتن stored procedure جستجو



arshad89
دوشنبه 05 بهمن 1388, 19:20 عصر
سلام
اگه کسی کیتونه کمک کنه ممنون میشم.
یه strored procedure میخواهم بنویسم که جدولی رو جستجو کنه.به این صورت که کاربر به تعداد فیلدهای جدول که 11 هست میتونه متغییر وارد کنه.وچون نمیتونم حدس بزنم کدام یکی از فیلد ها رو وارد میکنه باید همه رو چک کنم تا قسمتwhere رادر select بنویسم.
ممکنه کاربر بخواهد اسم و فامیلی رو سرچ کنه.یا اسم و آدرس یافامیلی به تنهایی.
یه نمونه strored procedure گذاشتم. اگه کسی میتونه لطفا کمک کنه.ممنونم:لبخندساده:



REATE PROCEDURE dbo.search
(
@fname nvarchar(50)
@lname nvarchar(50),
@number char(15),
AS
declare @chr char(400)

select @chr ='select * from Tb_Member where id is not null'
if @fname<>null
select @chr=@chr+'and (Name=@fname)'
exec(@chr)
if @lname<>null
select @chr=@chr+'and (Family=@lname)'
if @number<>null
select @chr=@chr+'and (Number=@number)'
exec(@chr)
GO


من تمام فیلدهای جدول را قرار ندادم.فقط سه تا فیلد برا آزمایش strored procedure اگه واسه 3تا فیلد درست کار کنه ،واسه بقیه مشکل حله.
fname,lnam,number اسم فیلدهای جدول هست.

DataMaster
دوشنبه 05 بهمن 1388, 22:10 عصر
کوئری رو توی اپلیکیشن دست بیاری و اجرا کنی به نظرم خیلی بهتره تا اینکه بفرستی به این پروسیجر
چون بهنظرم اصلا هیج مزیتی نداره این پروسیجر

محمد سلیم آبادی
سه شنبه 06 بهمن 1388, 00:03 صبح
سلام،
یک نگاهی به اینجا (http://www.sommarskog.se/dyn-search-2005.html) بکنید ممکنه ایده های جدیدی بدست آورین. بویژه اینجا (http://www.sommarskog.se/dyn-search-2005.html#EXEC) که مخصوص Dynamic SQL و EXEC است.

arshad89
سه شنبه 06 بهمن 1388, 18:39 عصر
سلام،
یک نگاهی به اینجا (http://www.sommarskog.se/dyn-search-2005.html) بکنید ممکنه ایده های جدیدی بدست آورین. بویژه اینجا (http://www.sommarskog.se/dyn-search-2005.html#EXEC) که مخصوص Dynamic SQL و EXEC است.

ممنون،خیلی مقاله خوبی بود.مشکلم حل شد.مرسی:تشویق::تشویق: