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

  • درصورتی که بخواهیم تعداد کل رکوردهای جدول MyTable  را به دست بیاوریم، به صورت زیر می نویسیم:  

select count(*) from mytable  

  • درصورتی که در جدول Mytable  بخواهیم تعداد کل رکورهایش را بدست آوریم ولی رکوردهایی که مقدار فیلد MyField آنها تکراری است را فقط یکبار به حساب بیاوریم اسکریپت فوق را به صورت زیر می نویسیم:   

select count(distinct(t.myfield)) from mytable  t

متغیر global در بدنه package

در بدنه  package در pl/sql می توان متغیر global تعریف کرد. در صورتی که نیاز باشد که متغیری بین function ها و procedure های یک package مشترک باشد از تعریف متغیر global در بدنه package استفاده می شود.

توضیحاتی در مورد بلاک Package در pl/sql

در مورد package در pl/sql:  

  1.  function ها و Procedure هایی که برای هدف خاصی نوشته شده اند و همدیگر را فراخوانی می کنند در بلاکی به نام Package قرار داده می شوند. در حقیقت package مجموعه ای از function ها و Procedure ها است.
  2. package از دو بخش Spec و Body تشکیل شده است. تعریف اولیه  Function ها و procedure ها در قسمت Spec آن قرار می گیرد و تعریف کامل آنها که شامل بدنه Function و Procedure ها می باشد در قسمت Body قرار داده می  شود. 
  3. با اولین فراخوانی یکی از function ها و یا procedure های موجود در یک package کل آن package در حافظه قرار می گیرد و دیگر دسترسی به سایر اعضای آن سریعتر اتفاق می افتد. 
  4. یکی دیگر از مزایای Package این است که چون کل function ها و procedure های مورد نظر را در یکجا گرد آورده است دیدن و ویرایش کردن آنها راحت تر است. 

کدهای بخش Exception Handling در pl/sql

در یلاک های pl/sql  دستورات مربوط به بخش Exception Handling با استفاده از کلمه ی کلیدی Exception از سایر کد های بلاک جدا می شوند.

روش ثبت گروهی داده ها در دیتابیس

در صورتی که بخواهیم با استفاده از دستورات pl/sql تعداد زیادی رکورد را در دیتابیس ثبت کنیم، از دستور Bulk Insert استفاده می کنیم. زیرا در صورتی که بخواهیم رکورد به رکورد در دیتایبس ثبت کنیم زمان زیادی برای ثبت همه ی آنها لازم خواهد بود.