View Full Version : ارسال نام جدول به عنوان پارامتر
  
Galawij
دوشنبه 22 فروردین 1390, 09:35 صبح
سلام 
روالی دارم که نام جداول را برای دستور Select از ورودی می گیره. حالا این پارامتر ورودی رو در دستور Select بعد از کلمه from  قبول نمی کنه (در ضمن نمی خوام از دستورات تزریق sql (روالی های داخلی sql) استفاده کنم).
چطور باید بنویسمش؟
حمیدرضاصادقیان
دوشنبه 22 فروردین 1390, 12:35 عصر
سلام.
شما باید از طریق Dynamic SQl اینکارو انجام بدید.
مثال :
DECLARE @DetName           varchar(30)
               if @typ=1  set @DetName='p_otpt'
       else  if @typ=2  set @DetName='p_inpt'
       else  if @typ=3  set @DetName='p_sput'
       else  if @typ=4  set @DetName='p_pput'
       else  if @typ=5  set @DetName='p_pish'
       else  if @typ=6  set @DetName='p_garb'
       else  if @typ=7  set @DetName='p_cnvt'
       if @typ=5  exec(' Select *,0 as sanad,-1 as Code_Asli,0 as Naghd,0 as User_tas  from  '+@DetName+' order by code' )
       else exec(' Select *,(select doc from f_sanad_doc where sanad='+@DetName+ '.sanad) as doc   from  '+@DetName+' order by code' )
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.