پی‌ال/اس‌کیوال

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو


زبان PL/SQL محصول شرکت اوراکل است که برای SQL و ارتباط بین دیتا بیس ساخته شد.
PL/SQL سینتکسی مشابه با زبان‌های Ada,Pascal دارد.
PL/SQL یکی از سه زبان برنامه نویسی ای است که در پایگاه داده اوراکل به همراه SQL و جاوا وجود دارد.
این زبان از نسخه ۷ پایگاه داده اوراکل در ان قرار گرفته شده است.
این زبان ساختارهایی مانند متغیر، عبارات شرطی، حلقه‌های تکرار وساختارهای استثنا را دارا می‌باشد. همچنین از ساختار ارایه نیز پشتیبانی می‌کند.
هنگامی که یک برنامه در پایگاه داده ذخیره می‌شود امکان اجرای ان در زمان‌های بعدی فراهم می‌شود.
در حالی که برنامه نویسان به راحتی می‌تواند جاسازی زبان دستکاری داده‌ها را انجام دهند اظهارات به طور مستقیم به کد PL / SQL با استفاده از اظهارات صریح زبان SQL نیاز به تعریف داده‌های پیچیده تر "پویا" در PL / SQL است با این حال، اظهارات DML زیر بنای اکثر کدهای PL / SQL را در برنامه‌های کاربردی فراهم می‌کند.
شرکت اوراکل به صورت عادی بسته‌هایی ازبرنامه‌ها را در نسخه‌های مختلف دیتا بیس خود گسترش داده است.

بخش برنامه‌ای PL/SQL[ویرایش]

قالب‌های ناشناس[ویرایش]

بخش برنامه می‌تواند قالب‌ها را نام گذاری کند و یا نکند. قالب‌های نام گذاری نشده به عنوان قالب‌های نا شناس شناخته می‌شوند زیرا ان‌ها در پایگاه داده ذخیره نمی‌شوند پس هیچ نامی نخواهند داشت. ما معمولاً از قالب‌های نا اشنا هنگام ساخت اسکریپت‌هایی برای داده‌هایی که می‌خواهیم یک بار فعال شوند استفاده می‌کنیم. این روش وقتی موثر است که ما می‌خواهیم فعالیت یک بخش را به بخش دیگر منتقل کنیم.
Exceptions خطاهایی که در مرحله اجرای کد ایجاد می‌شوند دارای یکی از دو مدل زیر هستند:
Exceptionsهایی که توسط کاربر ایجاد می‌شوند همیشه یه صورت صریح توسط یرنامه نویس ایجاد می‌شوند، با استفاده از کامندهای RAISE و RAISE_APPLICATION_ERRO در مواقعی که ما به طور قطع میدانیم که راه معمولی ای برای ادامه اجرا وجود ندارد.
RAISE کامندی مانند زیر دارد:

RAISE <EXCEPTION name>;

شرکت اوراکل چند استثنا از پیش تعریف شده مانند NO_DATA_FOUND ،TOO_MANY_ROWS، دارد. هر استثناء شماره خطا در SQL و پیام خطا مرتبط با آن را دارد. برنامه نویسان می‌توانند با استفاده از SQLCODE و SQLERRM به نابع هر کدام دسترسی داشته باشد.

DECLARE
  number1 NUMBER(2);
  number2 number1%TYPE    := 17;             -- value default
  text1   VARCHAR2(12) := 'Hello world';
  text2   DATE         := SYSDATE;        -- current date and time
BEGIN
  SELECT street_number
    INTO number1
    FROM address
   WHERE name = 'INU';
END;

توابع[ویرایش]

توابع در PL/SQL گروهی از توابع در PL/SQL و SQL هستند که جملات ان یک وظیفه خاصی را انجام می‌دهد و باید مقدار یا مقادیر خود را به محیط فراخوانی شده بفرستد. توابع تعریف شده توسط کاربر برای تکمیل کردن صدها تابعی که به وسیله شرکت اوراکل ایجاد شده است استفاده می‌شود.
در این زبان سه نوع مختلف از پارامترها وجود دارد: in,out in out

  1. پارامتر IN فقط برای ورودی به کار می‌رود.
  2. پارامتر OUT برای مقدار دهی به پارامترهای NULL به کار می‌رود.
  3. پارامتر IN OUT می‌تواند برای مقدار دهی مقادیر استفاده شود.

رویه‌ها[ویرایش]

رویه‌ها مشابه توابع هستند که می‌توانند برای انجام کار اجرا شوند. تفاوت اصلی رویه‌ها با توابع این است که رویه‌ها نمی‌توانند در جملات SQL استفاده شوند. تفاوت دیگر انها در این است که می‌توانند چندین مقدار را برگردانند. PL/SQL تفاوت‌های بسیاری را میان توابع و رویه‌ها حفظ کرده است که در اهداف نوشتن برنامه می توتم انها را پیدا کرد.

بسته‌ها[ویرایش]

بسته گروه مفهومی مرتبط با توابع، رویه‌ها، مقادیر، جملات و... هستند. استفاده از بسته به دلیل ترویج استفاده مجدد از کد است. بسته‌ها متشکل از مشخصات بسته و بدنه بسته است که به صوزت اختیاری تعریف می‌شود.
دو مزیت استفاده از بسته این است که:

  1. رویکرد ماژولار، مرتبط کردن داده‌ها با هم، پنهان کردن منطق کسب و کار، امنیت، افزایش کارایی.
  2. استفاده از مقادیر بسته‌ای می‌توان سطح هر قسمتی را مشخص کرد.

متغیرهای عددی[ویرایش]

برای تعریف متغیرهای عددی برنامه نویس باید متغیر از نوع عدد را برای نام تعریف کند.

جستارهای وابسته[ویرایش]

منابع[ویرایش]

مشارکت‌کنندگان ویکی‌پدیا، «PL/SQL»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۵ ژوئن ۲۰۱۳).