PDA

View Full Version : پروسیجر داینامیک



javad3151
دوشنبه 10 بهمن 1384, 08:01 صبح
سلام
چطور میشه داخل یک پروسیجر پارامتری تعریف کرد که نام تیبل یا فیلد رو قبول کنه
مثلا اگر بخواهیم تیبل را بر اساس یکی از فیلدهای انتخابی کاربر sort کنیم


select * from test order by @column


یا اینکه اگر بخواهیم چند پرسیجر داینامیک بنویسیم که نام تیبل را هم از پارامتر بگیرند.

با تشکر

Elham_gh
دوشنبه 10 بهمن 1384, 16:06 عصر
شما می توانید عبارت خود را با پارامترهی ورودی کاربرتان بسازید وسپس از sp_executesql استفاده کنید. مانند مثال زیر:


CREATE PROCEDURE spDynamicFetch
@Select1 NVARCHAR(50),
@Select2 NVARCHAR(50),
@Order1 NVARCHAR(50)

AS
DECLARE @strSQl NVARCHAR(500)
SET @strSQl ='SELECT '+@Select1+','+@Select2+' FROM dbo.jobs ORDER BY '+@Order1
EXEC sp_executesql @strSQL

GO