PDA

View Full Version : اجرای Query داخل یک متغییر



سار
دوشنبه 07 خرداد 1386, 11:35 صبح
آیا راهی هست که بشه Query داخل یک متغییر از نوع nvarchar را در سطح SP یا View اجرا کرد؟

rezaei manesh
دوشنبه 07 خرداد 1386, 12:28 عصر
بله
اما سعی کنید این کار رو نکنید مگر اینکه مجبور باشید
در مواقع ضرورت هم از پارامتر در رشته تان استفاده کنید


execute sp_executesql @StrExe

AminSobati
دوشنبه 07 خرداد 1386, 12:36 عصر
فکر میکنم منظورتون Dynamic TSQL باشه:


declare @query nvarchar(200)
set @query='select * from mytable'
exec (@query)

سار
دوشنبه 07 خرداد 1386, 12:40 عصر
ممنونم از هر دو شما عزیزان.
ممکنه فرق دو روش رو از نظر سرعت و پارامترهای دیگه برام بگید.
ممنونم

rezaei manesh
دوشنبه 07 خرداد 1386, 13:28 عصر
با اجازه استاد
اگه رشته داخل متغیرت ثابت هست زیاد تفاوتی نمی کنه می تونی از کد استاد استفاده کنی
اما اگه مثلا نام جدولت تغییر می کنه و یا شرطی رو داری که باید چک بشه یا نشه و... باید از روش من استفاده کنی و حتما متغیر ها رو با پارامتر به رشته بفرستی
البته برای دفعه اول که sp اجرا بشه فرقی نمی کنه اما برای دفعات بعدی که رشته مشابه صدا زده شد فرق می کنه و...
آقای ثباتی عزیز قبلا در این مورد به من و دوستان توشیح دادند اگه یه جستجو بکنین مظالب مفیدی رو پیدا خواهید کرد.