arabic introduction to _ pl-sql

45
ات ان ي ب ل واعد ا ق م ي م ص ت ات ي كPL-SQL م س ب له ل ا ن م ح ر ل ا م ي ح ر ل ا1

Upload: walaa-taleb

Post on 25-Jun-2015

748 views

Category:

Documents


3 download

DESCRIPTION

an abarbic introduction small book about : PL-SQL

TRANSCRIPT

Page 1: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

الرحيم الرحمن الله بسم

1

Page 2: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

الكتاب : محتويات

الموضوعم

1

2

3

4

5

6

7

8

9

لغة : إلى مدخل األول PL/SQLالفصل

مقدمة

اللغة مميزات

اللغة لتعلم أحتاج ماذا

األول البرنامج كتابة

البرنامج تنفيذ طرق

) ( البرنامج أجزاء الترميز كتلة مكونات

( المفتاحية المشروط( GOTOالكلمة الغير القفز

التعليقات

األول الفصل على تمارين

1

2

3

4

5

6

7

8

والثوابت : المتغيرات الثاني الفصل

المتغيرات تعريف

المتغيرات أهمية

المتغيرات استخدامات

المتغيرات تسمية شروط

اللغة المتغيراتفي أنواع

اللغة المتغيراتفي تعريف كيفية

الرقمية البيانات

النصية البيانات

األخرى البيانات

القيود

األداة%TYPE

األداة%ROWTYPE

الثاني الفصل على أمثلة

الثاني الفصل على تمارين

2

Page 3: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQL3كتاب

Page 4: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQL4كتاب

Page 5: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQL5كتاب

األول الفصللغة إلى مدخل

PL/SQL

األول الفصللغة إلى مدخل

LQS/LP

Page 6: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

المقدمة :اللغة برمجية PL/SQLتعتبر أداة وهي ، أوراكل نظام في البرمجة لغة هي

وكلمة ، لـ )PL/SQLقوية / ،( Procedure Language/Structure Query Languageاختصارا

نظام لتجهيز اللغة هذه وتستخدم Oracleوتستخدم ، التسجيالت معالجة طريقة عن

شركة قبل من المنتجة التطوير أدوات في / بناء Oracleأيضا برنامج أساس تعتبر وهي ،

نموذج . Oracle Reportsو Oracle Formsالنماذج لتعريف / أيضا اللغة هذه وتستخدم

التسجيالت . أجل ومن ، ما تقرير في الخاصة الحسابات ببعض والقيام ، ما

----------------------------------------------------------------------------------------------------

لغة :PL/SQLمزايا

بها التكامل :-1 يكتب حيث أوراكل وأدوات أجزاء بين أساسي دور اللغة وهذه

األوراكل( .Formsأكواد ) وأدوات أجزاء برمجة بها ويتم

األداء :-2 لـ تحسين يمكن خالل PL/SQLحيث من وذلك التطبيقات أداء تحسين

:

جمل أ- خادم ) ( SQLتجميع إلى وإرسالهما واحدة كتلة واحد بلوك في / معا

(Data Base. )عامة األداء مستوى ارتفاع إلى يؤدي مما واحدة دفعة لتنفيذها

لـ ب- وأدوات PL/SQLيمكن أجزاء من جزء أي داخل وبذلك Oracleالعمل

األدوات ) هذه إلى اإلجرائية المعالجة قوة )Oracle Formsيضيف )،Oracle

Reports. ............ األداء( مستوى تحسين إلى يؤدي مما ، ،

البرنامج -3 بـ :Modularized تطوير وذلك

كتل )أ- داخل للبيانات منطقي البرنامج( .Blocksتجميع

المتداخلة )ب- المزايا( .Nested Blocksالكتل من العديد تتيح

يمكن ت- المشاكل من أبسط مجموعة إلى المعقدة المشاكل تقسيم إتاحة

ببساطة . Yها حل

مكتبات )ث- شكل في بجمعها سابقة وأكواد خبرات من (Librariesاإلستفادة

أدوات بين منها اإلستفادة المختلفة .Oracleيمكن

6

Page 7: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

كود ج- تنفيذ أدوات PL/SQLيمكن من أداة أي المختلفة .Oracleمن

والمتحوالت )ح- المتغيرات تعريف من( Variablesيمكن العديد تستقبل التي

والبيانات والفيديو والصور والنصوص األرقام مثل المختلفة البيانات أنواع

الخ .... . المركبة

سير خ- في والتحكم التكرار أوامر مثل األخرى المميزات على / أيضا وتحتوي

. .... الخ وووووو واإلستثناءات األخطاء ومعالجة البرنامج

----------------------------------------------------------------------------------------------------

اللغة : هذه لتعلIم أحتاج ماذابرنامج عندي دام ما إضافي شيء إلى أحتاج من SQL*Plusال جهازي على ل Yمنز

،فبرنامج إلى SQL *Plusقبل فقط أحتاج الذي ، اللغة هذه وكتابة لتعلYم بالغرض يفي

أوامر كتابة على والقدرة جيد .SQLالمعرفة بشكل المادة هذه اجتزت وإني

---------------------------------------------------------------------------------------------------

بلغة األول البرنامج :PL/SQLكتابة

برامج كتابة محث PL/SQLيمكن من برنامج SQLوتنفيذها .SQL *Plusضمن

يفضل . إذ اإلستخدام مفضلة آلية تعتبر ال البرامج، وطول تعقيد درجة وبسبب ولكن،

المفكرة مثل نصوص محرر أي في البرنامج في Notepadتطوير اإلجرائيات باني أو

ضمن . Oracleنظام البرامج ملفات استدعاء يمكن ذلك .SQL *Plusوبعد

بلغة األول برنامجنا نكتب برنامج PL/SQLهيا فلنفتح ،SQL *Plus وكتابة

رسالة ) لطباعة البرنامج وهذا ، التالي ( :Helloالبرنامج

1-1القائمة

بلغة ترميز كتلة من يتألف السابق تعليمة PL/SQLفالبرنامج على تحتوي

الرسالة . ) gظهر ت ( .Helloواحدة

7

Page 8: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

السابق : للبرنامج الهامة الخصائص بعض

بكلمة )- بكلمة( )Beginيبدأ ( .Endوينتهي

لغة - في الطباعة ( .DBMS_OUTPUT.PUT_LINEهر )PL/SQLأمر

ترميز - كتل بفاصلة PL/SQLتتكون تنتهي تعليمة وكل ، تعليمات من

منقوطة .

ترميز )/( - كتلة نهاية في وضع الترميز .PL/SQLيتم كتلة تعليمات لتنفيذ

المفتاحية )- الكلمة كتلة( ENDتعتبر في الوحيدة المفتاحية الكلمة هي

منقوطة .PL/SQLترميز بفاصلة تنتهي التي

مهمة : ملحوظة

كلمة ) السابق البرنامج في سطر أول أن حظ SET SERVEROUTPUTال

ON )تعليمة لبرنامج SET،هي المرسلة SQL *Plusالتابعة الرسائل بإظهار المسؤولة

البرمجية الحزمة في الموجودة اإلجرائيات قبل وضعها DBMS_OUTPUTمن يجب ،

البرمجية للحزمة استخدام هناك تكن لم فإذا ، العمل جلسة ضمن فقط واحدة مرة

DBMS_OUTPUT. التعليمة هذه استخدام إلى داعي فال

----------------------------------------------------------------------------------------------------

حاجة .. بأي / مطالبا لست فأنا مفهومة مرتبة حاجة إلى توصلنا ما هنا إلى أعتقد

Yجملة إال هنا فقط : SET_SERVEROUTPUT ONإلى واحدة مرة استخدامها يجب

جملة استخدام هناك كان إن العمل جلسة DBMS_OUTPUT.PUT_LINEضمن

ما . أمر لتنفيذ المسؤولة

---------------------------------------------------------------------------------------------------

برنامج تنفيذ :PL/SQLطرق

8

Page 9: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

لترميز -1 البرمجية الكتلة كانت برنامج PL/SQLإذا داخل SQL *Plusمكتوب

بـوضع ) تنفيذها مباشرة( ./فيمكن الترميز كتلة نهاية بعد

لترميز -2 البرمجية الكتلة كانت فيمكن PL/SQLوإذا خارجي ملف في

محث من المفتاحية )SQL *Plusتنفيذها الكلمة الرمز( STARTباستخدام أو

مجهولة(. ) ( .@) كتل إجرائيات تسمى البرمجية الكتل من النوع وهذا

المفتاحية : الكلمة هذه الستخدام العام والشكل

START الملف الملف \مسار االمتداد .اسم

ترميز كتلة تنفيذ من االنتهاء نظام PL/SQL وبعد :Oracleسيظهر التالية الرسالة

إجراء نجاح PL/SQL تم

أو

PL/SQL procedure successfully completed

نظام فإن خطأ أي حدث إذا أما ، بنجاح البرنامج تنفيذ تم بأنه تخبرنا Oracleوالتي

خطأ . رسالة سيصدر

الجد نبدأ هنا والمثابرة ---------------------------------------------------------من الصبر علينا

: ) ( البرنامج أجزاء الترميز كتلة مكوناتبلغة برنامج أي كتلة PL/SQLلكتابة ترميز أن نعرف أن علينا PL/SQLيجب

بالترتيب : وهي مقاطع أربعة من يتكون

كتلة . الترويسة :- 1 نوع لتحديد ويستخدم الترميز كتلة في اختياري مقطع وهو

هي . : الترميز كتل وأنواع واسمها إجرائيــــــة anonymous procedureالترميز أي

و ، االسم و named procedureمجهـــولة ، اسم لها إجرائية تابع .functionأي أي

فقط . األخيرين النوعين مع الترويسة وتستخدم

. التصريح :- 2 أسماء على ويحتوي الترميز كتلة في اختياري مقطع / أيضا وهو

المتغيرات . وتتضمن الترميز كتلة في استخدامها سيتم التي المحلية األغراض

9

Page 10: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

االفتتاحية ) بالكلمة المقطع هذا ويبدأ ، واالستثناءات المؤشرات وتعاريف

DECLARE. )

التعليمات . التنفيــذ :- 3 كل ويحتوي الترميز كتلة في الوحيد اإلجباري المقطع وهو

تعليمات من تتألف والتي ، تنفيذها سيتم ترميز ) DMLالتي كتل إجرائيات ،PL/SQL )،

ترميز ) كتل . PL/SQLتوابع ) المقطع هذا ويبدأ البناء مسبقة جزئية ،وبرامج ما قيمة تعيد

االفتتاحية ) ( .BEGINبالكلمة

يحدث . االستثناءات :- 4 خطأ أي ومعالجة اللتقاط ويستخدم اختياري مقطع وهو

المفتاحية . ) بالكلمة المقطع هذا ويبدأ التنفيذي المقطع في الموجودة التعليمات أثناء

EXCEPTION. )

ملحوظة :

المفتاحية* ) الكلمة كله ذلك الكلمة( ENDويلي وهي ، الترميز كتلة إلنهاء

التي الوحيدة منقوطة . المفتاحية بفاصلة تنتهي

الرمز* ) وضع يتم الترميز كتلة الترميز .slash( /ولتنفيذ كتلة نهاية بعد

الترميز : لكتلة العام والشكل

التالي : المثال نأخذ سوف

الرقم ) يحمل الذي الموظف اسم يسترجع برمجية جدول( 7782كتلة من

التنفيذية( EMPالموظفين ) التعليمات على خطأ أي حدوث هناك كان طباعته،وإذا ثم ،

رسالة ) ( .ERROR OCCUREDسيظهر

DECLARE ) والتعريف التصريح واإلستثناءات )جزء المؤشرات وتعاريف المتغيرات وضع يتم هنا

BEGINتنفيذهـ سيتم التي التعليمات وضع يتم ( اهنا التنفيذ) جزء

EXCEPTION) االستثناءات االستثناءات )جزء وضع يتم هنا END; ) البرمجية الكتلة الكتلة )نهاية إلنهاء الترميز كتلة نهاية في وضعها يجب الكلمة هذه

الترميز / كتلة لتنفيذ وضعه يتم الرمز ( وهذا البرمجية) الكتلة تنفيذ

10

Page 11: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

----------------------------------------------------------------------------------------------------

المفتاحية ) المشروط( :GOTOالكلمة الغير القفزالمفتاحية ) الكلمة من( GOTOتستخدم واالنتقال مشروط غير قفز إلجراء

. قواعد هناك المفتاحية الكلمة هذه والستخدام آخر مقطع إلى الترميز كتلة من مقطع

بالترتيب : وهي إتباعها يجب وتعليمات

إشارتي : )-1 بوضع وذلك العناوين وإشارتي( )>>تعريف العنوان اسم بعد( <<قبل

العنوان . اسم

المفتاحية )-2 الكلمة استخدام إلى( GOTOيتم القفز المراد العنوان اسم وضع ثم

بعد ) ( .GOTOهناك

ملحوظة :

؟ /س واحد رقم الفقرة في إليه أشرنا الذي العناوين بتعريف المقصود ما

الترميز . /ج كتلة لمقاطع عالمات لوضع تستخدم وسائل بأنها العناوين تعرف

الحرفي النوع من متغير تعريف/ 30طوله حرفا

يحمل الذي الموظف اسم عن االستعالم جملة هناوطباعته 7782الرقم

تعليمات اإلستثاء

جملة من المسترجع الموظف اسم هذااالستعالم

11

Page 12: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

التالي : المثال سنأخذ

المفتاحية ) الكلمة تستخدم برمجية إلى( GOTOكتلة مقطع من مشروط غير لقفز

ثم األولى ثم الوسطى التعليمة تنفيذ يتم ، تنفيذية تعليمات ثالث تحتوي ، آخر مقطع

األخيرة : التعليمة

ملحوظة :

التعليمة ) استخدام بعدم المجال هذا في الخبراء من العديد ،( GOTOيوصي

بعض . في لالستخدام وهي / سهال / أمرا التطبيقات على السيطرة فقدان تجعل فهي

وأبسط . أسهل البرنامج تجعل أن يمكن التي النادرة الحاالت

التعليقات :ويوضع ، الترميز كتلة ضمن التعليقات إدخال يمكن األخرى البرمجة لغات كأي

فترة بعد للبرنامج وتطويره مراجعته وقت أمره لتسهيل التعليقات هذه مثل المبرمج

هذه . لكتابة أداتان ويوجد / أبدا البرنامج حجم في التعليقات هذه تؤثر وال ، زمنية

التعليقات :

السطر : )--( -1 بداية في ناقص إشارتي وضع يتم ً واحدا / سطرا تعليق لكتابة

كتعليق . بوضعه نرغب الذي

الشرح : البرنامج تنفيذ بداية عند

التالية ) الجملة gotoيحصلmiddle )إلى فيذهب

وينفذ( middleالمقطع )الجملة يحصل ثم التعليمات

فيذهب( goto topالتالية )المقطع ) وينفذ( topإلى

الجملة يحصل ثم التعليمات gotoالتالية )

bottom )إلى فيذهبثم( bottomالمقطع )

كلمة ) فينهي( endيحصلالبرنامج .

12

Page 13: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

الرمز : )-2 وضع يتم أسطر عدة تعليق ووضع( /*ولكتابة ، التعليق بداية في

التعليق( .*/الرمز ) نهاية في

----------------------------------------------------------------------------------------------------

13

Page 14: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

األول الفصل على تمارين

األول : السؤال

الخاطئة )( )( : العبارة أمام خطأ وعالمة الصحيحة العبارة أما صح عالمة ضع

أوراكل .PL/SQLلغة- 1 نظام في البرمجة أساس هي

) (

لغة - 2 مزايا فقط PL/SQLمن .التكامل

) (

أكواد - 3 تنفيذ يمكن المختلفة PL/SQLال أوراكل أدوات من أداة أي .من

) (

أكواد - 4 كتابة محث PL/SQLيمكن من استدعاؤه ثم نصوص محرر .SQL *Plusفي

) (

هي )- 5 منقوطة بفاصلة تنتهي التي الوحيدة المفتاحية .(Endالكلمة

) (

الرمز )*( - 6 وضع يتم الترميز كتلة الترميز starولتنفيذ كتلة نهاية .بعد

) (

التنفيذي )- 7 المقطع هو الوحيد اإلجباري (.Beginالمقطع

) (

المشروط( GOTOالكلمة )- 8 القفز إلى .تشير

) (

الثاني : السؤال

يأتي : عما أجب

محث- . 1 من استدعاؤه يتم فكيف خارجي ملف في مكتوب الترميز كتلة ملف كان إذا

SQL *Plus ؟

_______________________________________________________________

_______________________________________________________________

14

Page 15: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

الرمز- 2 هو وما ؟ فقط واحد لسطر تعليق كتابة في المستخدم الرمز هو ما

أسطر؟ عدة كتابة في المستخدم

________________________________________________________________

________________________________________________________________

التالي- )3 النص طباعة فيه يتم برمجية كتلة ؟( Welcome To PL/SQLأكتب

15

Page 16: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

الثاني الفصلالمتغيرات والثوابت

الثاني الفصلالمتغيرات والثوابت

16

Page 17: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

والثوابت : المتغيراتالمتغيرات : تعريف

قيمة - - إسناد يتم أن يمكن قيمة حفظ أجل من تخزين موقع هو المتغير إن

البرنامج . تنفيذ أثناء قيمته تتغير أن يمكن ألنه متغبر وسمي ، إليه

المتغيرات : أهمية

للمتغير .-1 الذاكرة في مكان حجز

المتغير .-2 في تخزن أن يمكن التي البيانات بنوع المترجم إعالم

المتغيرات : استخدامات

للبيانات .-1 مؤقت تخزين

مخزنة .-2 قيم مع التعامل

البرنامج .-3 وأثناء داخل تغيرات نتيجة البيانات استخدام إعادة

استخدام )-4 من وذلك والصيانة التعديل وسهولة (rowtype%و( )type%اإلختصار

أو عمود نوع حسب متغير تعريف يمكن خاللهما من و ، / الحقا شرحها سيأتي

معين بنوع التقيد دون المرونة من كبير قدر يتيح مما البيانات قاعدة في صف

البيانات . من

المتغيرات : تسمية شروط

بحرف .-1 يبدأ أن يجب المتغير اسم

الحرف $ .-2 أو سفلية شرطة أو وأعداد حروف على المتغير اسم يحتوي أن يمكن

خاصة .-3 رموز على المتغير اسم يحتوي ال

مسافات .-4 على المتغير اسم يحتوي ال

مثل -5 اللغة في المحجوزة األسماء ضمن المتغير اسم يكون ...Declare, for, ifال

الخ.

/ PL/SQLلغة -6 فمثال والصغير الكبيرة الحروف بين تفرق عن xال يختلف .Xال

معنى .-7 ذو المتغير اسم يكون أن يفضل

17

Page 18: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

لغة المتغيراتفي : PL/SQL أنواع

أساسين : قسمين إلى المتغيرات تنقسم

:PL/SQL تمتغيرا-1

منها : أنواع عدة على وتحتوي

.Scalarالمفردة أ-

( ب- المعقدة) .Compositeالمركبة

عناوين ) ( ت- بها .Referenceالمشار

الكبيرة ث- األحجام .)LOB)Large Objectذات

ليست -2 :PL/SQLمتغيرات

متغيرات : . host , Bindمثل

األولـــــى الفقـــــرة إال المنهج هذا في األنــــواع هذه من علينــــــا فمـــــا

. ) المفـــــردة)

لغة المتغيراتفي تعريف : PL/SQL كيفية

لغة في المتغيرات تعريف للتعريف PL/SQLيتم العام والشكل التصريح جزء في

هو :

Variable_name [CONSTANT] datatype )precision(;

المتغير ( ] قيـــــد [اسم البيانات) نوع الطول أو الدقة ;

مهمة : ملحوظة

منقوطة .-1 بفاصلة التعريف ينتهي أن يجب

متغير .-2 أي تعريف عند إجباريان ونوعه المتغير اسم

) ؟ ) المفردة معنى فما المفردة اللغة هذه في المتغيرات أنواع من أن قلنا ما مثل

مثل : . : فقط واحدة قيمة سوى المتغير قيمة يحتوي ال أن هنا منها المقصود المفردة

الرقمية : -1 .Numberالبيانات

النصية : -2 .Char , Varchar2البيانات

18

Page 19: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

البولية : -3 .Booleanالبيانات

4- : ) التاريخ ) الزمنية .Dateالبيانات

وغيرها . .Exceptionاالستثناءات : -5

بالتفصيل . التعريف وكيفية السابقة البيانات أنواع كل سنأخذ

الرقمية : المتغيرات تعريف

) للقيمة : ) الكامل الطول الدقة اثنين وسيطين الرقمية البيانات تتضمن أن يمكن

العشرية ) . الفاصلة يمين أو يسار إلى وضعها الممكن األرقام عدد العشرية القيمة و

قسمين : إلى تنقسم الرقمية البيانات

التالي :-1 بالشكل تعريفه ويمكن الصحيحة الرقمية البيانات

Salary integer)3(;

2-: التالي بالشكل تعريفه ويمكن العشرية الفاصلة ذات الرقمية البيانات

age number)3(;

summary number)3,2(;

النصية : المتغيرات تعريف

نمطين : من النصية البيانات ويتكون ، عادي بشكل النصية البيانات تعريف يمكن

1-CHAR 2- VARCHAR2: . النصية البيانات لتعريف العام والشكل

Job char)3(;

Name varchar2)30(;

X char)(;

ملحوظة :

النوع -1 من التعاريف المشغولة .charتحتوي غير المواضع في فراغات

تحتوي أن ويمكن العشرية القيمة تحديد دون عددا قيمته المتغير فهذابحيث ، اليسار إلى عشرية أرقام وثالث عشرية أرقام ثالث القيمة هذه

مواضع . ثالثة من أكثر األعظمي الطول يتجاوز ال

طوله المتغير بعد 3فهذا اليمين إلى عددان منهاالعشرية الفاصلة

ملحوظة :

مقدارها* للدقة افتراضية قيمة إعطاء .38يتم

19

Page 20: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

أي -2 إجراء يمكن ال وحتى الشيء نفس الفارغة والقيم الفراغات اعتبار يمكن ال

بينهما . مقارنة

البيانات -3 لنمط الطول تحديد يتم ال عندما االفتراضي الطول ، 1هو charيعتبر

هو األعظمي .32767والطول

البيانات -4 لنمط متغير تعريف عند الطول تحديد والطول varchar2يجب ،

هو .32767األعظمي

األنماط -5 من متغيرات بتعريف اللغة أعظمية varchar2و charتسمح بأطوال

أكبر .

أخرى : أنواع من المتغيرات تعريف

1-Boolean : القيمة يأخذ أن ويمكن ، ما حالة لتسجيل أو Falseأو Trueيستخدم

Null.

Yes Boolean ; مثل:

2-Date . : التاريخ قيم لتسجيل يستخدم

s_day date ; مثل:

3-Exception. : للخطأ مقبض أو مخصص استثناء لتعريف يستخدم

e_error exception; مثل:

القيود : تعاريف

بأنه القيد gعرف وي ، الترميز كتلة في فة Yمعر المتغيرات على القيود وضع يمكن

: . وهما القيود من شائعان نوعان ويوجد المتغير على وضعه يتم شرط

1-CONSTANT : قيمة نسب بعد تتغير لم القيمة أن من يتأكد القيد وهذا

خطأ . . سيحدث ، القيمة تغيير ما تعليمة حاولت فإذا للمتغير أولية

2-NOT NULL : / دائما على يحتوى المتغير أن من يتأكد القيد هذا

، المتغير إلى فارغة قيمة نسب ما تعليمة حاولت فإذا ، قيمة على

خطأ . سيحدث

للمتغيرات : قيم نسب

لغة في للمتغيرات القيم لنسب طريقتان :PL/SQLتوجد

النسب )-1 مثل( ::=معامل

20

Page 21: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

Salary number := 15;

المفتاحية )-2 في ( INTOالكلمة ،( FETCHو( )SELECTتعليمة )وتستخدم

. / الحقا بالتفصيل شرحه وسيأتي

تسجيلة نوع من المجموعات : PL/SQL تعريفمتغيرات ومتغيرات

لغة في أضيفت تسجيلة PL/SQLميزة نوع من متغيرات تعريف وهي

أو : عمود تعريف أساس على متغير تعريف يمكن بمعنى المجموعات ومتغيرات

الجديد فالمتغير ، تعريفه سبق متغير أو البيانات بقاعدة جدول في بأكمله صف

من كبير قدر تتيح وبذلك ، البيانات قاعدة في جدول عمود بيانات نوع نفس يأخذ

/ وأيضا ، للمبرمج الوقت من الكثير يوفر / وأيضا ، المتغيرات تعريف في المرونة

البرنامج . اختصار

الميزة : هذه من الهامة الفوائد

مواصفات -1 بنفس متغير آلي بشكل يعرف أن المطوYر يستطيع

معرفة وبدون ، مؤشر نوع من متغير أو جدول عمود بيانات

المؤشر . أو العمود لبيانات المواصفات

جدول -2 تسجيلة أو ما لمؤشر المتغيرات إعداد المطوYر يستطيع

أو . للجدول المواصفات نفس المتغيرات وستمتلك واحدة بتعليمة

المؤشر . متغيرات

األداة ) * أو ( : TYPE % الخاصية

21

Page 22: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

األداة ) بتعريف( TYPE%تعتبر تسمح والتي ، مجموعة متغير لتعريف أداة أول

بهذه للتعريف العام والشكل ، البيانات بقاعدة جدول عمود مواصفات بنفس متغير

األداة :

VARIABLE_NAME TABLE_CURSOR_NAME.COLUMN_NAME%TYPE ;

المتغير المؤشر اسم أو الجدول العمود اسم اسم %TYPE

;

ذلك : /على مثاال نأخذ يلي ما وفي

الموظفين ) جدول من وراتبه الموظف اسم لعرض برمجية بحيث( EMPكتلة ،

يساوي الموظف رقم .7782يكون

بالتفصيل : السابق المثال نشرح اآلن دعنا

مفتاحية : ) كلمة األول والتعريف( .Declareالسطر التصريح جزء تحدد

واسمه : ) متغير تعريف الثاني )nameالسطر عمود( بيانات نوع نفس بياناته ونوع

ename( جدول( (.empمن

واسمه : ) متغير تعريف الثالث )salaryالسطر عمود( بيانات نوع نفس بياناته ونوع

sal( جدول( (.empمن

مفتاحية : ) كلمة الرابع التنفيذ( .Beginالسطر جزء تحدد

استعالم : ) جملة الخامس والراتب( )selectالسطر االسم )enameيسترجع ( .salو(

22

Page 23: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

مفتاحية : ) كلمة السادس جزء( intoالسطر في تعريفها تم التي للمتغيرات قيم إلسناد

( .salaryو( )enameالتصريح )

الموظفين : ) جدول من يكون السجل استرجاع إلى أشرنا السابع ( .empالسطر

الموظف : ) رقم يكون بحيث السجل السترجاع الشرط جملة الثامن (empnoالسطر

( .7782يساوي )

جملة : من المسترجع وراتبه الموظف اسم يطبع بحيث الطباعة جملة التاسع السطر

السابقة . اإلستعالم

مفتاحية : ) كلمة العاشر بفاصلة( Endالسطر وتنتهي الترميز كتلة أو البرنامج إلنهاء

منقوطة .

الرمز : ) يدل عشر الحادي السابقة( ./السطر الترميز كتلة أو البرنامج تنفيذ على

ملحوظة :

الرمز : ).1 نرى التاسع جملة( ||السطر أو متغير من أكثر قيمة لطباعة ويستخدم ،

الطباعة . جملة نفس في

مفردة ..2 تنصيص عالمتي بين وضعه يجب نص لطباعة

األداة )* أو ( : ROWTYPE % الخاصية

23

Page 24: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

مصفوفة )( لتأسيس وتستخدم ، مجموعة متغير لتعريف أداة ثاني وهي ، األداة

العام . والشكل ما جدول أو ما مؤشر في الموجودة األعمدة على مبنية المتغيرات من

األداة : بهذه للتعريف

ARRAY_NAME TABLE/CURSOR_NAME%ROWTYPE ;

المتغير المؤشر اسم أو الجدول اسم %ROWTYPE ;

ذلك : /على مثاال نأخذ يلي ما وفي

الموظفين ) جدول من ووظيفته وراتبه الموظف اسم لعرض برمجية (EMPكتلة

يساوي الموظف رقم يكون بحيث األداة .) 7782، ( :ROWTYPE%باستخدام

السابق : البرنامج شرح

األداة ) في كتبنا الذي البرنامج نفس بعض( TYPE%هو في هنا يختلف ولكن

الكتابة : حيث من السابق البرنامج عن الفقرات

متغير )-1 تعريف الموظفين( )xتم جدول أعمدة نوع نفس ( .empتأخذ

متغير -2 قيمة طباعة فعند السابق عن يختلف الثامن السطر في الطباعة جملة

التالي كالشكل الجدول في العمود اسم ثم نقطة ثم المتغير اسم وضع يجب

: / مثال

DBMS_OUTPUT.PUT_LINE )'Name: ' || x.ename (;

ملحوظة :

استرجع وإذا ، فقط / /واحدا سجال وتسترجع ، الضمنية المؤشرات تسمى سبق ما كل

خطأ . سيحدث سجل من أكثر

24

Page 25: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

الثاني : الفصل أمثلة

المتغير )-1 وقيمة نص تطبع برمجية :X = )1500كتلة

فيه -2 يشتغل الذي القسم واسم وراتبه الموظف اسم تسترجع برمجية كتلة

يساوي ) الموظف رقم يكون بحيث ، األداة( : )7782وطباعته %باستخدام

TYPE: )

الرقم )-3 يحمل الذي ووظيفته الموظف اسم طباعة فيه يتم برمجية ( .7782كتلة

األداة ) باستخدام ( :ROWTYPE%ولكن

25

Page 26: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

الثاني : الفصل تمارين

األول : السؤال

يأتي : أجبعما

؟ -1 المتغير كلمة تعني ماذا

؟ -2 المتغيرات أهمية هي ما

أ -

- ب

؟ -3 المتغيرات تسمية شروط أذكر

أ -

ب -

ج -

د -

هـ -

و-

لغة - 4 في المتغيرات أنواع هي ؟ PL/SQLما

- أ

ب -

26

Page 27: Arabic Introduction to _ PL-SQL

البيانات قواعد تصميم PL-SQLكتاب

الثاني : السؤال

التالية : الفراغات امأل

النصية .1 البيانات أنماط و .......................... .charمن

جزء ........................... ..2 في المتغيرات تعريف يمكن

األداة ).3 (ROWTYPE%تستخدم

لـــ .......................................................................... .

البيانات ).4 نمط من االفتراضية الطول( CHARالقيمة تحديد يتم ال عندما

هو ................ .

وضعها.......... ........................ .5 الممكن األرقام عدد و ، للقيمة الكامل الطول

العشرية . الفاصلة يسار أو يمين إلى

المنطقية....................... ..6 أو البولية للبيانات يستخدم

7.DATE. ....................................... لــ يستخدم

الثالث : السؤال

اسمه )-1 الذي للموظف التعيين تاريخ الستعراض برمجية كتلة ؟( KINGاكتب

الموظفين )-2 جدول في الموظفين عدد لحساب برمجية كتلة ؟( EMPاكتب

قيمة -3 وتنسب الرقمي النوع من متغيرين تعريف فيه تقوم برمجية كتلة اكتب

؟( 30والثاني( )50لألول ) الناتج وطباعة العددين بجمع تقوم ثم ،

27