در قسمت نهم آموزش SQL Server ،کدنویسی View ها و تعریف متغیر در SQL Server را به شما آموزش دادیم. دراین قسمت قصد داریم حلقه در SQL Server را به شما آموزش بدیم.
در این برنامه ما تنها میتوانیم از یک حلقه استفاده کنیم و ان نیز حلقه While میباشد که شکل کلی این حلقه به صورت زیر میباشد
While(شرط یا شروط)
Begin
دستور/دستورات
End
به تصویر زیر دقت کنید
همانگونه که در تصویر فوق مشاهده میکنید ما ابتدا متغیری از نوع int با نام counter تعریف کرده ایم و مقدار اولیه ۱ را به ان داده ایم سپس حلقه را تعریف کرده ایم همانگونه که مشاهده میکنید در شرط حلقه گفته شده تا زمانی این حلقه ادامه میابد که متغیر کمتر یا مساوی ۲۰ باشد سپس کلمه کلیدی Begin و سپس دستورات که دستور اول از دستور Select استفاده کرده بدین معنی که هربار مقدار متغیر را نمایش میدهد و دستور دوم نیز هربار یک واحد به متغیر اضافه میکند و سپس کلمه کلیدی End و باز شرط چک میشود تا زمانی که مقدار متغیر به ۲۰ برسد و پس از اجرا نیز نتیجه را بدین صورت مشاهده میکنید که ۲۰سطر را تولید کرده و از ۱تا ۲۰ را نمایش میدهد.
اما همانگونه که مشاهده میکنید نتیجه را در یک ستون واحد مثل نتایج قبلی نمایش نمیدهد بلکه هرکدام را جدا جدا نشان میدهد حال میخواهیم ظاهرش را مانند نتایج قبلی در یک ستون واحد قرار دهیم تا ظاهر زیبا تری نیز داشته باشد برای اینکار باید از جدولهای موقت استفاده کنیم شکل کلی جدول موقت نیز به صورت زیر میباشد
Create Table #table name ( Columns_name columns_type )
“عبارت # زمانی گذاشته میشود که میخواهیم یک جدول موقت بسازیم اما اگر بخواهیم یک جدول دائم در دیتابیس خود بسازیم نباید از این عبارت استفاده کنیم”
حال کدهای بالا را به صورت زیر تغییر میدهیم
تغییراتی که در کدها ایجاد کردیم را در تصویر فوق مشاهده میکنید همانگونه که مشاهده میکنید پس از تعریف متغیر ما جدول موقت را تعریف کرده ایم که با نام Tab و یک ستون با نام Num از نوع int میباشد سپس در حلقه ابتدا از عبارت Insert #Tab استفاده شده بدین معنی که در هربار اجرای حلقه ابتدا مقدار ایجاد شده درون جدول قرار گیرد و سپس بقیه دستورات درون حلقه در خارج حلقه ما محتوی جدول را با دستور Select نمایش داده ایم و در اخر نیز جدول را Drop کرده ایم توجه داشته باشید که حتما در اخر جدول را Drop کنید.
در اخر نیز با اجرای دستورات نتیجه را در یک جدول واحد و در یک ستون نشان میدهد.
*جداول موقتی که ایجاد میشوند در مسیر System DataBase / Tempdb / Temporary Tables ذخیره میشوند که در تصویر بالا نیز نمایش داده شده یکی از این جداول ایجاد شده جدولیست که شما ایجاد کرده اید که مدیریت این جداول به عهده خود سیستم میباشند.