1 / 21

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

PL/SQL تعريف المتغيرات. مقدمة في PL/SQL. ماهي لغة PL/SQL ؟ هي عبارة عن تطوير للغة SQL حيث أعطت المرونة ل SQL بحيث يمكن كتابة جمل متعددة مثل استخدام متغيرات وجمل الدوران والشرط...إلخ

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PL/SQLتعريف المتغيرات

  2. مقدمة في PL/SQL • ماهي لغة PL/SQL ؟ هي عبارة عن تطوير للغة SQL حيث أعطت المرونة ل SQL بحيث يمكن كتابة جمل متعددة مثل استخدام متغيرات وجمل الدوران والشرط...إلخ • تتألف PL/SQL من مجموعة منفصلة من الوحدات تسمى Modules كل منها له وظيفة معينة للوصول إلى الهدف النهائي من البرنامج.

  3. مقدمة في PL/SQL • تنقسم (Modules) إلى قسمين : • وحدة برمجية غير مسماةAnonymous Block: هذه الوحدة ليس لها اسم محدد ولا تخزن في قاعدة البيانات ولكن يتم تحميلها في الذاكرة واستخدامها يكون عند الحاجة لها. • وحدة برمجية معروفة Named Block: تسمى أحيانا Subprogram , وهي الوحدات البرمجية التي لها اسم محدد عند تعريفها ويندرج ضمنها: Function, Procedure, Trigger, Package. • يمكن للقطعة البرمجية (Modules ) أن تحتوي على وحدة (Block ) أوأكثر ويمكن للوحدات أن تكون بداخل بعضها البعض Nested Blocks

  4. مقدمة في PL/SQL رسم يوضح الأنواع المختلفة للوحدات البرمجية:

  5. مقدمة في PL/SQL • تركيب الوحدات (Block ) تتكون الوحدة من 3 أجزاء: • الجزء التعريفي (Declarative) : في هذا الجزء يتم تعريف المتغيرات والمؤشرات والاستثناءات , ويعتبر هذا الجزء اختياري أي يمكن كتابة ال(Block ) دون الحاجة لتعريف متغيرات. • الجزء التنفيذي (Executable) ويحتوي على جمل SQL مثل (استرجاع ,حذف ,إضافة ,تحديث) بالإضافة إلى جمل PL/SQL التي تقوم بالتعامل مع البيانات داخل الوحدة, مثل جمل الدوران والشرط ...إلخ وهذا الجزء إجباري لأنه يحتوي على الجمل الواجب تنفيذها. • الجزء الخاص بمعالجة الاستثناءات(Exception) في هذا الجزء يتم معالجة الأخطاء الممكن حدوثها خلال مرحلة التنفيذ ويعتبر جزء اختياري.

  6. مقدمة في PL/SQL • DECLARE • BEGIN • SQL • PL/SQL • EXCEPTION • END; اختياري تعريف المتغيرات , الاستثناءات, المؤشرات اجباري بداية الجزء التنفيذي جمل SQL جمل PL/SQL اختياري الإجراء الذي يجب تنفيذه عند حدوث خطأ اجباري نهاية الجزء التنفيذي

  7. المتغيرات في PL/SQL • المتغيرات عبارة عن مواقع في الذاكرة يمكن استخدامها لتخزين البيانات مؤقتا خلال عملية تنفيذ (Block ). • فوائد استخدام المتغيرات: • معالجة البيانات المخزنة: يمكن استخدامها لتحتوي على القيم المخزنة في قاعدة البيانات ومثلا اجراء عملية حسابية عليها. • إعادة الاستخدام: المتغير يقوم بحجز مكان في الذاكرة بالتالي نستطيع استخدام المتغير أكثر من مرة في عملية تخزين واسترجاع البيانات خلال تنفيذ البرنامج. • سهولة الصيانة.

  8. المتغيرات في PL/SQL • تعريف المغيرات: عند استخدام المتغيرات لا بد من تعريفها في جمل منفصلة تنتهي بفاصلة منقوطة (;). • الشكل العام لتعريف المتغيرات: • identifier [CONSTANT] datatype [NOT NULL] [:= DEFAULT | expression ] ;

  9. المتغيرات في PL/SQL • مثال : Declare v_name VARCHAR2(10) ; v_date DATE ; v_id NUMBER(2) NOT NULL:=10 ; c_comm CONSTANT NUMBER:=120; BEGIN …… END;

  10. المتغيرات في PL/SQL • النقاط التي يجب مراعاتها عند تعريف المتغيرات: 1- اتباع قواعد التسمية المستخدمة في SQL • لا يمكن أن يكون هناك أكثر من متغير يحمل نفس الاسم إلا إذا كان في وحدة (Block ) أخرى. • عدم استخدام اسم الجدول أو عمود سيتم استخدامها في نفس الوحدة (Block ). • لا يزيد طول الاسم عن 30 حرف. • أن يحتوي على رموز يمكن استخدامها في SQL وهي : A-Z, a-z, 0-9, _, #,$ • يجب أن يبدأ بحرف. • غالبا نستخدم الأحرف الصغيرة لتعريف المتغيرات. 2- وضع قيم ابتدائية للمتغيرات المعرفة باستخدام CONSTANTوNOT NULLحتى لا يحصل خطأ في التعريف. 3- وضع القيم الابتدائية باستخدام := أو باستخدام الكلمة المحجوزة DEFUALT 4- تعريف متغير واحد فقط في كل جملة. 5- أن لا يكون اسم المتغير أحد الكلمات المحجوزة.

  11. المتغيرات في PL/SQL - إسناد قيم للمتغيرات: • هناك طريقتان لإسناد القيم للمتغيرات: • باستخدام جملة الإسناد بحيث نقوم بكتابة اسم المتغير ثم وضع التعبير. Identifier := expression ; مثال:

  12. المتغيرات في PL/SQL • الطريقة الأخرى إسناد القيم من خلال جملة الاسترجاع من قاعدة البيانات. مثال: SELECT ename INTO v_name FROM emp WHERE empno = 7788; • يجب الانتباه إلى أن عملية الاسترجاع تعيد قيمة واحدة فقط للمتغيرv_nameوإلا سيتم حدوث خطأ.

  13. المتغيرات في PL/SQL • أنواع البيانات للمتغيرات Datatypes • Scalar Datatype • Composite Datatype • LOB Datatype • Bind Variables

  14. أنواع البيانات للمتغيرات Datatypes Scalar Datatype) 1 ) المتغيرات التي تحتوي على قيمة واحدة وهذا النوع يحتوي على قيم مفردة.

  15. المتغيرات في PL/SQL • مثال: v_job VARCHAR2(9); v_count BINARY_INTEGER := 0; v_total_sal NUMBER(9,2) := 0; v_orderdate DATE := SYSDATE + 7; c_tax_rate CONSTANT NUMBER(3,2) := 8.25; v_valid BOOLEAN NOT NULL := TRUE;

  16. المتغيرات في PL/SQL • خاصية %TYPE تستخدم هذه الخاصية لتعريف متغير اعتمادا على متغير آخر. • مثال: v_enameemp.ename %TYPE; - قمنا بتعريف المتغير v_ename بنفس النوع والحجم للعمود ename الموجود في جدول emp . • مثال: v_balance NUMBER(7,2); v_min_balancev_balance %TYPE := 10; - قمنا بتعريف متغيرv_balance من نوع رقمي. - قمنا بتعريف المتغير v_min_balanceبنفس النوع والحجم للمتغير v_balance وبقيمة ابتدائية 10 .

  17. المتغيرات في PL/SQL • تعريف المتغيرات المنطقية BOOLEAN: - تأخذ قيم TRUE , FLASE, NULL . • يمكن ربطها بواسطة العمليات المنطقية AND,OR ,NOT . • يمكن استخدام التعبيرات الحسابية للحصول على نتائج منطقية (<,>, =<, =>) • مثال: v_sal1 NUMBER: =1000 ; v_sal2 NUMBER: =2500 ; v_valid BOOLEAN:= (v_sal1 > v_sal2);

  18. المتغيرات في PL/SQL • أنواع البيانات للمتغيرات Datatypes 2. المتغيرات المركبة Composite Datatype: 1- السجلات RECORDS : تتكون من عدة حقول ولا يشترط أن تكون من نفس النوع أوالحجم. 2- الجداول TABLES : تتكون من عدة حقول ولا يشترط أن تكون من نفس النوع أوالحجم (وممكن أن يكون هناك أكثر من صف في الجدول).

  19. المتغيرات في PL/SQL • أنواع البيانات للمتغيرات Datatypes 3. المتغيرات التي تحتوي على كائنات كبيرة الحجم LOB Datatype (Large Objectas): هي المتغيرات التي تحتوي على كائنات كبيرة الحجم مثل أفلام ,نصوص كبيرة...إلخ 4.متغيرات الربط Bind Variables: هي المتغيرات التي يتم تعريفها داخل البيئة التي يتم تنفيذ الوحدة داخلها مثل (SQL* Plus) بحيث نتستخدم المتغيرات داخل وحدة (Block) أو أكثر. • مثال: • SQL > VARIABLE Emp_Sal NUMBER تم تعريف متغير Emp_Sal من نوع NUMBER على مستوى المضيف (host) وعند استخدامها داخل ال(Block) فإنه يجب أن يسبق المتغير بنقطتين علويتين(:) : Emp_Sal:= 5000 ; - حتى نطبع المتغير Emp_Sal في بيئة (SQL* Plus)نستخدم الأمر PRINT SQL> PRINT Emp_ Name

  20. الطباعة على الشاشة PL/SQL • جملة الإخراج (الطباعة) • مثال: SET SERVEROUTPUT ON يجب وضع هذه الجملة في البداية حتى يمكن تنفيذ أمر الطباعة ACCEPT p_annual_sal PROMPT ' Please enter the annual salary ' Declare v_sal NUMBER(9,2) :=&p_annual_sal ; BEGIN v_sal := V_sal /12; DBMS_OUTPUT.PUT_LINE('Monthly Salary is '||TO_CHAR(v_sal));جملة الطباعة END;

  21. الخلاصة • ماهية PL/SQL • أقسام (Modules) • Anonymous Block • Named Block • أجزاء الوحدة (Block) • المتغيرات. الشكل العام لتعريف المتغيرات identifier [CONSTANT] datatype [NOT NULL] [:= DEFAULT | expression ] ; • أنواع المتغيرات (Datatypes). • Scalar Datatype • Composite Datatype • LOB Datatype • Bind Variables

More Related