Stored Procedure ها و کامنت ها

Sql stored procedures & comments

0 486

با سلام و عرض ادب خدمت همراهان گرامی روکسو. در این جلسه می خواهیم در رابطه با stored procedure ها و کامنت ها صحبت کنیم. stored procedure در واقع مانند توابعی برای کدهای SQL هستند تا شما نیازی به دوباره نویسی نداشته باشید و می توانند در دنیای برنامه نویسی به شما کمک بسیار زیادی بکنند. کامنت ها نیز در بحث یادگیری و نوت برداری شخصی در پروژه های بزرگ از اهمیت ویژه ای برخوردار هستند بنابراین بهتر است بدون مقدمه وارد مبحث جلسه ی امروز شویم!

Stored Procedure در SQL

 Stored Procedure ها (به معنی «رویه ی ذخیره شده») کدهای SQL ای هستند که می توانید آن ها را ذخیره کنید تا بعدا و در صورت نیاز دوباره یا چندین باره از آن استفاده کنید. بنابراین اگر کد SQL ای دارید که مرتبا از آن استفاده می کنید و مجبور هستید هر بار آن را بنویسید، می توانید آن را به عنوان stored procedure ذخیره کنید و هر زمان لازمش داشتید صدایش بزنید.

شما حتی می توانید به stored procedure ها پارامتر هم بدهید تا بر اساس پارامتر های ورودی عمل کنند و انعطاف پذیر باشند.

ساختار کلی برای ایجاد یک stored procedure به شکل زیر است:

و ساختار فراخوانی آن نیز به این شکل:

می خواهیم برخی از مثال های خود را روی جدول Customers پیاده کنیم بنابراین ابتدا نگاهی به آن می اندازیم:

Country PostalCode City Address ContactName CustomerName CustomerID
Germany 12209 Berlin Obere Str. 57 Maria Anders Alfreds Futterkiste 1
Mexico 05021 México D.F. Avda. de la Constitución 2222 Ana Trujillo Ana Trujillo Emparedados y helados 2
Mexico 05023 México D.F. Mataderos 2312 Antonio Moreno Antonio Moreno Taquería 3
UK WA1 1DP London 120 Hanover Sq. Thomas Hardy Around the Horn 4
Sweden S-958 22 Luleå Berguvsvägen 8 Christina Berglund Berglunds snabbköp 5

مثال کار با stored procedure

مثال اول – دستور SQL زیر تمام مشتریان را از جدول Customers انتخاب می کند. نام این stored procedure را SelectAllCustomers (به معنی «تمام مشتریان را انتخاب کن») گذاشته ایم:

و زمانی که بخواهیم آن را فراخوانی کنیم به این شکل عمل می کنیم:

استفاده از Stored Procedure با چندین پارامتر

ایجاد چندین پارامتر به جای یک پارامتر کار آسانی است. تنها کافی است که هر پارامتر و نوع داده ی آن را مشخص کنید و هر مورد را با ویرگول جدا کنید.

مثال اول – دستور SQL زیر ابتدا به سراغ جدول Customers می رود و مشتریانی را انتخاب می کند که اولا از شهر خاصی باشند و دوما کد پستی (PostalCode) خاصی داشته باشند:

و زمانی که بخواهیم آن را فراخوانی کنیم به این شکل عمل می کنیم:

کامنت ها در SQL

مانند اکثر زبان های برنامه نویسی و غیر آن، شما در SQL اجازه ی استفاده از کامنت ها را دارید که عموما دو استفاده ی کلی دارند:

  • توضیح دادن قسمت خاصی از کدهای SQL
  • جلوگیری از اجرای کد یا کدهای خاصی از SQL

قبل از ادامه ی بحث باید نکته ای را گوشزد کنم؛ مثال های این جلسه در مرورگر های فایرفاکس و IE کار نمی کنند بنابراین از مرورگر کروم استفاده کنید.

کامنت های یک خطی

کامنت های یک خطی در زبان SQL با علامت های — شروع می شوند بنابراین هر متنی که بین — و پایان خط قرار بگیرد کامنت محسوب شده و اجرا نخواهد شد. به مثال زیر توجه کنید:

اجرای این دستور در پایگاه داده ی Northwind

قسمت “Select all” در کد بالا از آنجا که بعد از — قرار گرفته است کامنت محسوب شده و نادیده گرفته می شود.

در مثال بعدی می خواهیم شرط WHERE را به صورت موقت حذف کنیم. چرا؟ تصور کنید در حال برنامه نویسی و انجام یک پروژه هستید و می خواهید مشکلی را در برنامه تان پیدا کنید. معمولا در این شرایط برنامه نویسان سعی می کنند قسمت های مختلف برنامه را ایزوله کنند؛ یعنی جزئیات را حذف کرده و از کل به جزء حرکت کنند تا ببینند کدام خط از کد باعث ایجاد مشکل شده است. اگر در پروژه های بزرگ بخواهید قسمتی از کد را حذف کنید ممکن است بعدا فراموش کنید این کد متعلق به کدام قسمت بوده است و باعث سر در گمی خودتان بشوید اما با استفاده از کامنت ها می توانید موقتا آن را غیر فعال کنید و بعدا به راحتی آن را به حالت اولیه برگردانید:

اجرای این دستور در پایگاه داده ی Northwind

می توان همین اتفاق را در چنین حالتی نیز مشاهده کرد:

اجرای این دستور در پایگاه داده ی Northwind

کامنت های چند خطی

کامنت های چند خطی در زبان SQL با علامت */ شروع شده و با /* نیز پایان می یابند بنابراین هر متنی که بین /* و */ باشد نادیده گرفته می شود (کامنت محسوب می شود). در مثال زیر یک نمونه ی جالب از کامنت های چند خطی را مشاهده می کنیم:

اجرای این دستور در پایگاه داده ی Northwind

شما می توانید به راحتی با حذف کردن علامت های کامنت کد را به حالت دیگری تغییر دهید و ببینید قبل از کامنت شدن آن قسمت، کد چه کاری انجام می داده است.

همچنین می توانی به جای یک دستور یا استفاده از کامنت یک خطی برای چندین دستور مختلف، یک بار از کامنت های چند خطی استفاده کنیم:

اجرای این دستور در پایگاه داده ی Northwind

همچنین در مورد حذف قسمت خاصی از یک دستور و فایده ی آن صحبت کردیم اما این بحث مخصوص کامنت های تک خطی نیستند و شما می توانید آن را به این شکل نیز پیاده کنید:

اجرای این دستور در پایگاه داده ی Northwind

حتی می توانیم پیشرفته تر عمل کنیم و کد را به این شکل نیز بنویسیم:

اجرای این دستور در پایگاه داده ی Northwind

همانطور که می بینید در پرانتز قسمتی از میان یک کد را غیر فعال کرده ایم. تصور کنید برای تست کردن برنامه تان یا عیب یابی از آن مجبور به حذف آن می شدید! تجربه ثابت کرده است که در بسیاری از مواقع اگر کدهایتان را در این حالت پیچیده حذف کنید، دوباره نوشتنشان آسان تر است تا درست کردن قسمت حذف شده!

امیدوارم از این قسمت لذت برده باشید. دستورات SQL برای کار با داده ها در این قسمت به پایان می رسد و از قسمت بعدی با دستوراتی آشنا می شویم که کار ساخت پایگاه داده، ساخت جدول، تعیین primary key و … را بر عهده دارند. این مباحث بسیار مهم هستند بنابراین با ما همراه باشید.

ترتیبی که روکسو برای یادگیری مطالب سری آموزش زبان SQL به شما توصیه می‌کند:

ارسال نظر

توجه:‌ آدرس ایمیل شما منتشر نخواهد شد.

mezitli escort
mezitli escort
mezitli escort