Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

PL/SQL المحاضرة السادسة T.Eman Alsqour.

Liknende presentasjoner


Presentasjon om: "PL/SQL المحاضرة السادسة T.Eman Alsqour."— Utskrift av presentasjonen:

1 PL/SQL المحاضرة السادسة T.Eman Alsqour

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

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

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

5 أجزاء الوحدة البرمجية block
DECLARE BEGIN SQL PL/SQL EXCEPTION END; اختياري تعريف المتغيرات , الاستثناءات. اجباري بداية الجزء التنفيذي جمل SQL جمل PL/SQL الإجراء الذي يجب تنفيذه عند حدوث خطأ اجباري نهاية الجزء التنفيذي Block T.Eman Alsqour

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

7 المتغيرات في PL/SQL تعريف المغيرات: عند استخدام المتغيرات لا بد من تعريفها في جمل منفصلة تنتهي بفاصلة منقوطة (;). الشكل العام لتعريف المتغيرات: identifier [CONSTANT] datatype [NOT NULL] [:= DEFAULT | expression ] ; identifier اسم المتغير. CONSTANT يعتبر قيد على المتغير بحيث إذا وضع المتغير CONSTANT يمنع تعديل قيمته ويجب إسناد قيمة ابتدائية له عند تعريفه. datatype نوع البيانات التي يمكن تخزينها في المتغير حرف أو رقم إلخ... NOT NULL أي يجب أن يحتوي المتغير على قيمة وعند تعريفه يجب إسناد قيمة ابتدائية له. expression إما أن يكون متغير آخر أو عملية. DEFAULT كلمة تعني أنه سيكون هناك إسناد قيمة معينة T.Eman Alsqour

8 المتغيرات في PL/SQL مثال : Declare v_name VARCHAR2(10) ; v_date DATE ;
v_id NUMBER(2) NOT NULL:=10 ; c_comm CONSTANT NUMBER:=120; BEGIN …… END; نوع المتغير اسم المتغير T.Eman Alsqour

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

10 المتغيرات في PL/SQL - إسناد قيم للمتغيرات:
هناك طريقتان لإسناد القيم للمتغيرات: باستخدام جملة الإسناد بحيث نقوم بكتابة اسم المتغير ثم وضع التعبير. Identifier := expression ; مثال: اسناد القيمة Ali للمتغير v _name v_name :=’Ali’ ; أو v_name VARCHAR2(10) DEFAULT ’Ali’ ; اسناد ناتج عملية حسابية للمتغير net_sal net_sal := v_sal – v_sal*.08 ; T.Eman Alsqour

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

12 Scalar Datatype) 1 ) المتغيرات التي تحتوي على قيمة واحدة وهذا النوع يحتوي على قيم مفردة.
الوصف VARCHAR2(size) البيانات الرمزية المتغيرة الطول ويمثل sizeأقصى طول لها, أكبر حجم هو 32,676 Byte CHAR[(SIZE)] البيانات الرمزية الثابتة الطول ويمثل sizeأقصى طول لها, وإذا لم يتم تحديد الطول تكون القيمة الافتراضية 1,أكبر حجم هو 32,676Byte NUMBER (precision,scale) لتمثيل البيانات الصحيحة والكسرية, precision يمثل الحجم الكلي للمتغير وscaleيمثل المنازل العشرية DATE يخزن وقت وتاريخ. BOOLEAN البيانات الممثلة منطقيا مثل TRUE,FLASE LONG RAW البيانات الممثلة ثنائيا مثل الصور. LONG البيانات الرمزية المتغيرة الطول ويمثل sizeاقصى طول لها, ويجب تحديد الطول عند التعريف ,أكبر حجم هو 32,670 Byteوأكبر حجم للعمود في الجدول 2,147,483,647Byte BINARY_INTEGER أعداد صحيحة مابين 2,147,483,647و-2,147,483,647 PLS_INTEGR أعداد صحيحة مابين 2,147,483,647و-2,147,483,647 ولكن بحجم أقل من BINARY_INTEGER و NUMBER

13 المتغيرات في 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; T.Eman Alsqour

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

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

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

17 المتغيرات في PL/SQL أنواع البيانات للمتغيرات Datatypes
3. المتغيرات التي تحتوي على كائنات كبيرة الحجم LOB Datatype (Large Objectas): هي المتغيرات التي تحتوي على كائنات كبيرة الحجم مثل أفلام ,نصوص كبيرة...إلخ 4.متغيرات الربط Bind Variables: T.Eman Alsqour

18 الطباعة على الشاشة PL/SQL
جملة الإخراج (الطباعة) يتم الطباعة باستخدام الأمر () DBMS_OUTPUT.PUT_LINE يتم كتابة ما نريد طباعته بين الأقواس مثال1: DBMS_OUTPUT.PUT_LINE(‘Eman’); مثال2: DBMS_OUTPUT.PUT_LINE(10); مثال3: x:=14 DBMS_OUTPUT.PUT_LINE(x); ناتج الطباعة Eman ناتج الطباعة 10 ناتج الطباعة 14 T.Eman Alsqour

19 يجب كتابة هذا الأمر في بداية البرنامج حتى يسمح بالطباعه
مثال اكتبي وحدة برمجية(Block) لطباعة كلمة ”Hello, World“ على الشاشة: SET SERVEROUTPUT ON DECLARE message varchar2(20):= 'Hello, World!'; BEGIN dbms_output.put_line(message); END; / يجب كتابة هذا الأمر في بداية البرنامج حتى يسمح بالطباعه T.Eman Alsqour

20 مثال2 x number(3); y number(3); z number(3); x:=5; y:=7; z:=x+y;
اكتبي وحدة برمجية(Block) لايجاد حاصل جمع عددين: DECLARE x number(3); y number(3); z number(3); BEGIN x:=5; y:=7; z:=x+y; dbms_output.put_line('The Sum of two number is ='||z); END; / T.Eman Alsqour

21 تم بحمد الله T.Eman Alsqour


Laste ned ppt "PL/SQL المحاضرة السادسة T.Eman Alsqour."

Liknende presentasjoner


Annonser fra Google