PLSQL
 
 

نتیجه یک پرس و جو پیاده سازی شده توسط کاربر می تواند شامل صفر، یک یا چند ردیف از داده ها باشد. هنگامی که نتیجه پرس و جو شما چند ردیف باشد،برای پردازش سطرهای مربوطه می توانید cursor را به شکل صریح تعریف نمایید. علاوه بر ایندر بلوک های مختلف PL/SQL، زیربرنامه ها وPackageها نیز می توانید از cursors استفاده نمایید .



Cache نمودن مقادیر sequence در حافظه، باعث دسترسی سریعتر به مقادیر تولید شده توسط sequence می گردد.

به این شکل که پاسخ درخواست ها را در صورتی که قبلا در حافظه cache ذخیره شده باشندکافیست از cache فراخوانی شوند. وقتی که آخرین عدد تولید شده در cache مورد استفاده قرار گرفت، در اولین درخواست بعدی مجدداً به تعداد مشخص شده برای پارامتر cache عدد تولید شده و در آن قرار می گیرد.



دستورات Loop به ما اجازه می دهند که دنباله ای از دستورات را چند بار اجرا کنیم . دستورات Loop در سه شکل مختلف وجود دارند که عبارتند از :

  1. LOOP
  2. WHILE-LOOP
  3. For LOOP

ساده ترین شکل دستور LOOP که به آن Basic Loop گفته می شود  شما می توانید در این کتاب آموزش ببینید



مطالبی که در این فصل می آموزیم

  • آشنایی با دستورات SQL در PL/SQL
  • دستکاری داده ها با استفاده از PL/SQL

در این فصل ما شما را با قدرت اوراکل آشنا می کنیم. شما یاد می گیرید که چگونه PL/SQL از دستورات SQLو همچنین توابع و عملیات های مختلفپشتیبانی می کندو اینکه اوراکل اجازه دستکاری داده ها را در بالاترین سطح به ما می دهد.دیگر ویژگیهای اوراکل، همانند مدیریت Cursors، کاربرد و نحوه استفاده از Sequence ها، ،Trigger ها و Package را در فصل های آینده فرا خواهیم گرفت.



در زبان PL SQL ما سه بلوک برای کار با دستورات داریم

DECLARE
DECLARE
   <declarations section>
BEGIN
   <executable command(s)>
EXCEPTION
   <exception handling>
END;

به



یبه عنوان مثال

DECLARE
   message  varchar2(20):= 'Hello, PL SQL!';
BEGIN
   dbms_output.put_line(message);
END;
/
 


بسیاری از برنامه های کاربردی نیاز به مقادیر یکتا در بعضی از ستونهای جداول خود دارند، می توان این مقادیر را از طریق برنامه کاربردی و یا از طریق یک  sequence ایجاد نمود. در واقع sequence وظیفه تولید اعداد به صورت متوالی و استفاده آن در بانک اطلاعاتی را به عهده دارد.Sequence یکی دیگر از اشیاء بانک اطلاعاتی اوراکل می باشد که می تواند توسط یک کاربر ایجاد و بین دیگران توزیع[1] شود. مهمترین استفاده  Sequenceها ستونهای کلید اصلی[2] می باشند که باید در هر ردیف مقادیر یکتا داشته باشند. Sequenceها می تواند اعداد را به صورت صعودی یا نزولی تولید کنند.Sequenceهابه عنوان یک شیء مستقل در جدول user-sequence  از جداول data dictionary  ذخیره می شوند. بنابراین یک sequence می تواند در بیش از یک جدول مورد استفاده قرار گیرد.

Create sequence sequence_name

[START WITH n]

[INCREMENT BY n]

[MAXVALUE maxvalue|NOMAXVALUE ]

[MINVALUE minvalue | NOMINVALUE]

[CYCLE | NOCYCLE]

[CACHE n | NOCACHE]



[1]Distributed

[2]Primary Key



مثال : اگر تعداد داروها بیش از 55 بود بر روی صفحه نمایش پیغام "Total Quantity Is True" نمایش داده شود، در غیر اینصورت پیغام “Total Quantity Is False” نمایش داده شود. (به شکل زیر دقت نمایید.)

 



توجه: با استفاده از دستور SET SERVEROUTPUT ON می توانیم خروجی دستور DBMS_OUTPUT را بر روی صفحه نمایش دهیم.



  1. با استفاده از دستور Select می توانیم یک سطر از جدول پایگاه داده را بازیابی کنیم.
  2. با استفاده از دستورات DML بر روی یک سطر از پایگاه داده تغییراتی را اعمال کنید(دستورات DML شامل Insert ,Update , Delete می باشند).
  3. با استفاده از دستورات COMMIT، ROLLBACK وSAVEPOINT می توانیم بر روی تراکنش ها کنترل لازم را داشته باشیم.

 



رکوردها نوع دیگری از انواع داده ها می باشند که اوراکل اجازه می دهد تا به عنوان یک متغیر آن را تعریف کنید . رکوردها انواع داده های مرکب می باشند به این معنی که ترکیبی از داده های مثل char, varchar, number و غیره می باشند . هر یک از انواع داده های موجود در یک رکورد دارای یک مقدار خاص می باشند. هر کدام از انواع داده ها در یک رکورد دارای یک مقدار خاص می باشند. همچنین یک رکورد می تواند تجسمی از داده ها باشد یا اینکه تمام محتویات یک سطر را شامل شود.



SQL مجوز می دهد که بلوک های تودرتو درون بلوک ها پیاده سازی شوند. بخش اجرایی از یک بلوک بیرونی می تواند مربوط به بلوک داخلی باشد. بنابراین یک متغیر از بلوک بیرونی می تواند به همه بلوک های درونی تو در تو دسترسی داشته باشد.

توجه: متغیر های تعریف شده در بلوک های داخلی در بلوک های بیرونی قابل دسترس نمی باشند.

بر اساس محل تعریف متغییرها می توانیم دو گروه متغیر داشته باشیم:

متغیر های محلی و متغیر های عمومی



متغیر ها محل ذخیره سازی موقت در حافظه می باشند. انواع متغییرها در اوراکل ثابت ها، متغییرها و رکوردها می باشند. در پایگاه داده اوراکل متغییرها برای ذخیره سازی موقت داده مورد استفاده قرار می گیرند و همچنین برای دستکاری داده در بلوک اجرائی PL/SQL  استفاده می شوند.ازدیگر ویژگی متغیرها قابلیت استفاده مجدد آنها است. بسته به نوع داده که می خواهیم ذخیره سازی کنیم، متغیر را تعریف کرده و از آن استفاده می کنیم. مقدار متغیر ها در بلوک هایPL/SQL  قابل تغییر هستند .

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

variable_name datatype [NOT NULL := value ];



صفحه قبل 1 2 صفحه بعد

درباره وبلاگ


به وبلاگ Oracle PLSQL خوش آمدید
موضوعات
آخرین مطالب
آرشيو وبلاگ
پيوندها

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان کتاب آموزش سریع Oracle PL/SQL همراه با پیاده سازی یک پروژه ک و آدرس oracleplsql.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.







<-PollName->

<-PollItems->

خبرنامه وب سایت:





آمار وب سایت:  

بازدید امروز : 2
بازدید دیروز : 0
بازدید هفته : 2
بازدید ماه : 80
بازدید کل : 11155
تعداد مطالب : 22
تعداد نظرات : 1
تعداد آنلاین : 1