سلام
من در sql server 2000 یه کوئری را به یک متغیر از نوع nvarchar نسبت می دادم و ان را با دستور exec اجرا می کردم ولی در 2005 خطا می گیره . چرا؟
Printable View
سلام
من در sql server 2000 یه کوئری را به یک متغیر از نوع nvarchar نسبت می دادم و ان را با دستور exec اجرا می کردم ولی در 2005 خطا می گیره . چرا؟
میشه کدتونو اینجا قرار بدین تا بهتر بشه راهنماییتون کرد
یه چیز دیگه که باید به مشکل اضافه کنم اینه که حتی اگه متغیر هم استفاده نکنم و کوئری را به شکل مستقیم در دستور exec به کار ببرم باز هم خطای سینتکس میگیره.نقل قول:
نوشته شده توسط Kamyar.Kimiyabeigi
و اما کد: هر کوئری ای که باشه جواب نمیده !!!!!!!:متفکر:
'exec ' select * from table1
من با راست کلیک روی جدول مورد نظرم وانتخاب script table as select و اجرای کوئری ایجاد شده توسط sql server 2005 نتیجه دستور select ایجاد شده را می بینم ولی اگر همان کوئری را در دستور exec ' query ' بزارم خطای زیر را می گیر د .
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'select
دوست عزیز کد درست به صورت زیره شما از لحاظ Syntax ایی اشتباه نوشتین
EXECUTE ('SELECT * FROM TABLE1')
سلامنقل قول:
نوشته شده توسط Kamyar.Kimiyabeigi
نمی دونم چطوری تشکر کنم :تشویق:
یه مشکل دیگه داشتم اینکه می خواهم یه StoredProcedure بنویسم که از دو بخش تشکیل شده .اول قشمت دستور select و دوم قسمت where مربوط به همان دستور .که قسمت دوم بر حسب پارامتر های ورودی هر بار متفاوت با دفعات قبل است .حالا می خواهم sp من شامل دستور select باشه ولی نمی خواهم دستور select را به شکل text با دستور
exec 'select ' + @where اجرا کنم به دلیل اینکه از روی این sp نمی توانم یه dataset برای sqladapter بسازم
میشه راهنمایی کنید.
دوست عزیز به نظر من شما راهی جز نوشتن Dynamic TSQL ندارید (با توجه به اینکه فرمودید قسمت دوم بر حسب پارامتر های ورودی هر بار متفاوت با دفعات قبل است)
مرسی..از لطفتون ممنوننقل قول:
نوشته شده توسط Kamyar.Kimiyabeigi