PDA

View Full Version : مبتدی: چرا از دستور GO در کدهای TSQL استفاده می کنیم؟



reza_edu
جمعه 04 تیر 1389, 23:29 عصر
سلام دوستان يه سوال خيلي ابتداي داشتم و اونم اينه كه كاربرد دستور

GO

تو كد نويسي چيه؟
سوال بعدي اينكه چجوري ميشه بدون اينكه از دابل دش (--) استفاده كرد كد هاي كه تو خطوط بالا نوشتيم رو برنامه ازش بگذر و اجرا نكنه ممنون ميشم جواب بديد .

sia_2007
شنبه 05 تیر 1389, 00:01 صبح
GO برای بخش بندی دستورات به صورت Batch بندی شده اجرا میشه.
در بعضی موارد احباریه
و متاسفانه در موارد اجباری؛ اگه ننویسید؛ نمیگه GO ننوشتی؛ یه مشت اراجیف رو به عنوان خطا ارسال میکنه؛ که کسی بخونه فکر میکنه تا 10 ثانیه دیگه سیستم منفجر میشه.
مخصوصا تو Service Broker
نوشتنش هم تو بعضی جاها غیر مجازه.
البته بهتره بدونی در مورد دستورات تو Books Online خیلی خوب توضیح داده شده.
حتما دانلود و نصبش کن.

ASKaffash
یک شنبه 06 تیر 1389, 08:52 صبح
سلام
از ; هم می توان استفاده کرد :


Select * From T1;
Select Count(*) From T2;

AminSobati
دوشنبه 07 تیر 1389, 00:41 صبح
سلام دوست عزیزم،
همونطور که توضیح داده شد عبارت GO برای جدا کردن Batchها به کار میره. هر Batch بصورت جدا به کامپایلر ارسال میشه. لذا بروز خطا در یک Batch مانع اجرای Batch بعدی نخواهد شد. وجود Sytanx Error در یک Batch کل Batch رو غیر قابل اجرا میکنه. ضمنا علامت ";" بعنوان پایان دهنده Command معنی میده و کار Batch رو انجام نمیده.
به یاد داشته باشید GO از دستورات TSQL نیست و اگر فرضا از ADO شما دستور GO ارسال کنید، SQL Server خطا میگیره. بعضی از نرم افزارها مثل Management Studio عبارت GO رو میشناسن و میدونن که باید با اون Batch ها رو جداگانه به کامپایلر ارسال کنند. حتی در تنظیمات Management Studio میتونین عبارت دلخواه دیگه ای رو به جای GO بعنوان Batch Terminator معرفی کنید