Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

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

Liknende presentasjoner


Presentasjon om: "PL/SQL تعريف المتغيرات"— Utskrift av presentasjonen:

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 ] ; identifier اسم المتغير. CONSTANT يعتبر قيد على المتغير بحيث إذا وضع المتغير CONSTANT يمنع تعديل قيمته ويجب إسناد قيمة ابتدائية له عند تعريفه. datatype نوع البيانات التي يمكن تخزينها في المتغير حرف أو رقم إلخ... NOT NULL أي يجب أن يحتوي المتغير على قيمة وعند تعريفه يجب إسناد قيمة ابتدائية له. expression إما أن يكون متغير آخر أو عملية. DEFAULT كلمة تعني أنه سيكون هناك إسناد قيمة معينة

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

11 المتغيرات في 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 ;

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

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

14 أنواع البيانات للمتغيرات Datatypes
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

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_ename emp.ename %TYPE; - قمنا بتعريف المتغير v_ename بنفس النوع والحجم للعمود ename الموجود في جدول emp . v_balance NUMBER(7,2); v_min_balance v_balance %TYPE := 10; - قمنا بتعريف متغير v_balance من نوع رقمي. - قمنا بتعريف المتغير v_min_balance بنفس النوع والحجم للمتغير v_balance وبقيمة ابتدائية 10 .

17 المتغيرات في PL/SQL تعريف المتغيرات المنطقية BOOLEAN:
- تأخذ قيم TRUE , FLASE, NULL . يمكن ربطها بواسطة العمليات المنطقية AND,OR ,NOT . يمكن استخدام التعبيرات الحسابية للحصول على نتائج منطقية (<,>, =<, =>) مثال: v_sal NUMBER: =1000 ; v_sal 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 ) أجزاء الوحدة (Block) المتغيرات.
Anonymous Block Named Block أجزاء الوحدة (Block) المتغيرات. الشكل العام لتعريف المتغيرات identifier [CONSTANT] datatype [NOT NULL] [:= DEFAULT | expression ] ; أنواع المتغيرات (Datatypes). Scalar Datatype Composite Datatype LOB Datatype Bind Variables


Laste ned ppt "PL/SQL تعريف المتغيرات"

Liknende presentasjoner


Annonser fra Google