PDA

View Full Version : ارسال نام جدول بصورت پارامتر در stored procedure



MNosouhi
چهارشنبه 08 آذر 1385, 16:09 عصر
چطوری میتونم نام جدول را بصورت پارامتر به stored procedure بفرستم؟

h_baqery
چهارشنبه 08 آذر 1385, 16:11 عصر
باید از execute sql استفاده کنید .
فکر می کنم در این باره صحبت شده جستجو کنید اگر پیدا نکردید .
بگویید دقیقا چه کار می خواهید انجام دهید تا بهتر راهنمایی شوید .

MNosouhi
چهارشنبه 08 آذر 1385, 18:44 عصر
میخام یه stored procedure بنویسم که نام جدول رو بهش بدم و تعداد رکوردهاش رو برام برگردونه.

odiseh
یک شنبه 12 آذر 1385, 13:31 عصر
نمی تونی اینکارو بکنی چون دستور select با متغیر کار نمی کنه. باید همانطور که h_baqery گفتند از sp_executesql استفاده کنی.

declare @t varchar(90)
set @t = 'Table1'
declare @sql as nvarchar(2000)
set @sql = 'select count(*) as n from ' + @t

exec sp_executesql @sql

فقط یادت باشه که متغیر @sql باید حتما از نوع nvarchar یا ntext یا nchar باشه. موفق باشی