آموزش PL/SQL قسمت یازدهم – EXCEPTION و EXCEPTION-HANDLER در PL/SQL

در این قسمت EXCEPTION و روش استفاده از EXCEPTION-HANDLER را توضیح می دهیم. منظور از EXCEPTION رخداد خطا در زمان اجرای برنامه است. برای مثال به دنبال اطلاعاتی هستیم که در دیتابیس وجود ندارند یا یک ورودی اشتباه به زیربرنامه ارسال می کنیم.

زبان PL/SQL با استفاده از بلاک EXCEPTION-HANDLER به برنامه نویس کمک می کند تا نوع EXCEPTION برنامه را متوجه شود و در زمان رخداد آنها دستورات مناسب را اجرا کند.

(بیشتر…)

آموزش PL/SQL قسمت دهم – رکورد در PL/SQL

در این قسمت رکورد (RECORD) در PL/SQL و روش استفاده از آن را توضیح می دهیم. رکورد یک ساختمان داده است که آیتم های متفاوت را کنار هم نگه می دارد. یعنی بر خلاف آرایه، این آیتم ها نوع داده متفاوت دارند. به همین جهت، هر سطر از جدول را یک رکورد می نامند زیرا معمولا سطرها از ستون های با نوع داده متفاوت تشکیل شده اند.

برای مثال می خواهیم اطلاعات کتاب های یک کتابخانه را بررسی کنیم. برای این کتاب ها مشخصات مختلف از جمله عنوان، نام نویسنده، موضوع کتاب و شماره کتاب وجود دارد. بنابراین برای آن ها یک رکورد با فیلدهای مورد نیاز تعریف می کنیم و اطلاعات مورد نظر را به شیوه بهتر دسته بندی کرده و نمایش می دهیم.

در PL/SQL می توان رکورد را به سه روش زیر تعریف کرد که در ادامه توضیح می دهیم.

(بیشتر…)

آموزش PL/SQL قسمت نهم – CURSOR در PL/SQL

دیتابیس اوراکل برای هر دستور SQL یک فضای حافظه به نام CONTEXT AREA ایجاد می کند که اطلاعات پردازشی دستور در این محل ذخیره می شود.

CURSOR یک اشاره گر به CONTEXT AREA است و PL/SQL با استفاده از CURSOR این فضا را کنترل می کند و اطلاعات آن را نمایش می دهد. برای مثال با استفاده از CURSOR می توان تعداد کل سطرهای دستکاری شده توسط یک دستور DML را مشاهده نمود یا محتویات داده در هر سطر از یک QUERY را بدست آورد.

(بیشتر…)

آموزش PL/SQL قسمت هشتم – تابع در PL/SQL

در این قسمت تابع (FUNCTION) در  PL/SQL را توضیح می دهیم. تابع از هر لحاظ مانند پروسیجر است با این تفاوت که برخلاف پروسیجر، یک مقدار برگردانده می شود.

بنابراین تمام مطالبی که در قسمت هفتم آموزش PL/SQL توضیح داده شد در مورد تابع نیز صادق است. (بیشتر…)

آموزش PL/SQL قسمت هفتم – پروسیجر در PL/SQL

در این قسمت  پروسیجر(PROCEDURE) و روش استفاده از آن را توضیح می دهیم ولی در ابتدا لازم است با مفهوم زیربرنامه یا SUBPROGRAM آشنا باشیم.

در زبان PL/SQL، زیربرنامه یک واحد از برنامه است که کار خاصی را انجام می دهد. برنامه های اصلی از ترکیب این زیربرنامه ها تشکیل می شوند و به این ترتیب مفهوم طراحی MODULAR  شکل می گیرد. هر زیربرنامه می تواند بوسیله یک برنامه یا توسط یک زیربرنامه دیگر اجرا شود.

زیربرنامه های PL/SQL در واقع بلاک های PL/SQL هستند که برای آنها یک نام در نظر گرفته می شود و می توانند با تعدادی پارامتر فراخوانی شوند.

  (بیشتر…)

آموزش PL/SQL قسمت ششم- رشته و آرایه در PL/SQL

رشته

رشته (STRING)، تعداد مشخصی از داده های کاراکتری است. کاراکترهای رشته می توانند از نوع عددی، حروف، جای خالی یا ترکیبی از آنها باشند.  در PL/SQL سه نوع رشته داریم:

1.رشته های از نوع FIXED-LENGTH:

در این نوع رشته ها فضای مورد استفاده برابر با حداکثر طول تعیین شده خواهد بود. مانند نوع داده CHAR

مثال 1: در این دو رشته حداکثر طول برابر یک است.

red_flag CHAR(1) := ‘Y’;

red_flag CHAR := ‘Y’;

مثال 2: فضای حافظه رشته زیر معادل با 10 کاراکتر است.

TEST CHAR(10) := ‘HELLO’;

2.رشته های از نوع VARIABLE-LENGTH:

در این نوع رشته ها فضای مورد استفاده برابر با حداکثر طول رشته وارد شده خواهد بود. البته  باید حداکثر طول داده را مشخص نمود. مانند نوع داده VARCHAR2.

(بیشتر…)

آموزش PL/SQL قسمت سوم – عملگرهای PL/SQL

کامپایلر زبان PL/SQL با توجه به نوع عملگر استفاده شده در برنامه، عملیات خاصی را بر روی داده ها انجام می دهد. عملگرها به 5 دسته تقسیم می شوند که در ادامه هر کدام را با مثال توضیح می دهیم.

1.عملگرهای ریاضی

2.عملگرهای رابطه ای

3.عملگرهای مقایسه ای

4.عملگرهای منطقی

5.عملگرهای رشته ای

(بیشتر…)

آموزش PL/SQL قسمت دوم – متغیر ، CONSTANT و LITERAL در PL/SQL

در زبان PL/SQL متغیر (VARIABLE) نامی است که به یک محل ذخیره سازی اختصاص می یابد و برنامه ها می توانند اطلاعات خود را در این محل ذخیره کنند. هر متغیر بر اساس یک نوع داده تعریف می شود. انواع نوع داده ها را در متن قبل توضیح دادیم. در واقع نوع داده برای یک متغیر موارد زیر را مشخص می کند.

1.سایز متغیر

2.قالب کلی متغیر

3.محدوده مقدارهایی که می توانیم در متغیر ذخیره کنیم.

4.عملیاتی که می توانیم روی آن متغیر انجام دهیم.

بنابراین به هر متغیر یک قسمت از فضای حافظه اختصاص می یابد و با استفاده از نام متغیر می توانیم به این فضا دسترسی داشته باشیم.

(بیشتر…)