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

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

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

2

في PL/SQLمقدمة

لغة ؟ PL/SQLماهيللغة تطوير عن عبارة ل SQLهي المرونة أعطت SQLحيث

متغيرات استخدام مثل متعددة جمل كتابة يمكن بحيث... إلخ والشرط الدوران وجمل

تتألفPL/SQL تسمى الوحدات من منفصلة مجموعة منModules النهائي الهدف إلى للوصول معينة وظيفة له منها كل

. البرنامج من

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

3

في PL/SQLمقدمة

( تنقسمModules : )قسمين إلىمسماة 1. غير برمجية هذه: Anonymous Blockوحدة

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

معروفة 2. برمجية أحيانا: Named Blockوحدة تسمىSubprogram , محدد و اسم لها التي البرمجية الوحدات هي

: ضمنها ويندرج تعريفها عندFunction, Procedure, Trigger, Package.

( البرمجية للقطعة وحدة ( Modulesيمكن على تحتوي أن(Block )بعضها بداخل تكون أن للوحدات ويمكن أوأكثر

Nested Blocksالبعض

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

4

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

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

5

في PL/SQLمقدمة( الوحدات ( Blockتركيب

من الوحدة :3تتكون أجزاء التعريفي ا يتم( : Declarative)لجزء الجزء هذا في

هذا , ويعتبر واالستثناءات والمؤشرات المتغيرات تعريف( ال كتابة يمكن أي اختياري الحاجة( Blockالجزء دون

. متغيرات لتعريف التنفيذي جمل( Executable)الجزء على ويحتوي

SQL ) إلى ) , , , باإلضافة تحديث إضافة حذف استرجاع مثلداخل PL/SQLجمل البيانات مع بالتعامل تقوم التي

الجزء, ... وهذا إلخ والشرط الدوران جمل مثل الوحدة. تنفيذها الواجب الجمل على يحتوي ألنه إجباري

( االستثناءات بمعالجة الخاص ( Exceptionالجزءخالل حدوثها الممكن األخطاء معالجة يتم الجزء هذا في

. اختياري جزء ويعتبر التنفيذ مرحلة

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

6

في PL/SQLمقدمة

DECLARE

BEGIN• SQL• PL/SQL

EXCEPTION

END;

اختياري , االستثناءات , المتغيرات تعريف

المؤشرات

التنفيذي الجزء بداية اجباري SQL جمل PL/SQLجمل

اختياريعند تنفيذه يجب الذي اإلجراء

خطأ حدوث

التنفيذي الجزء نهاية اجباري

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

7

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

استخدامها يمكن الذاكرة في مواقع عن عبارة المتغيراتتنفيذ ) عملية خالل مؤقتا البيانات (. Blockلتخزين

: المتغيرات استخدام فوائد.1 : على لتحتوي استخدامها يمكن المخزنة البيانات معالجة

عملية اجراء ومثال البيانات قاعدة في المخزنة القيم. عليها حسابية

.2 : الذاكرة في مكان بحجز يقوم المتغير االستخدام إعادةعملية في مرة من أكثر المتغير استخدام نستطيع بالتالي

. البرنامج تنفيذ خالل البيانات واسترجاع تخزين.3. الصيانة سهولة

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

8

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

المغيرات من: تعريف بد ال المتغيرات استخدام عندمنقوطة ) بفاصلة تنتهي منفصلة جمل في ;(.تعريفها

: المتغيرات لتعريف العام الشكل identifier [CONSTANT] datatype [NOT NULL] [:= DEFAULT |

expression ] ;identifier . المتغير اسم

CONSTANT المتغير وضع إذا بحيث المتغير على قيد يعتبرCONSTANT إسناد ويجب قيمته تعديل يمنع

. تعريفه عند له ابتدائية قيمة

datatype المتغير في تخزينها يمكن التي البيانات نوع... إلخ رقم أو حرف

NOT NULL وعند قيمة على المتغير يحتوي أن يجب أي. له ابتدائية قيمة إسناد يجب تعريفه

expression . عملية أو آخر متغير يكون أن إما

DEFAULT معينة قيمة إسناد هناك سيكون أنه تعني كلمة

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

9

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

: مثالDeclarev_name VARCHAR2(10) ; v_date DATE ; v_id NUMBER(2) NOT NULL:=10 ;c_comm CONSTANT NUMBER:=120;BEGIN……END;

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

10

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

: المتغيرات تعريف عند مراعاتها يجب التي النقاطفي- 1 المستخدمة التسمية قواعد SQLاتباعوحدة - في كان إذا إال االسم نفس يحمل متغير من أكثر هناك يكون أن يمكن ال

(Block. أخرى ( الوحدة )- نفس في استخدامها سيتم عمود أو الجدول اسم استخدام (.Blockعدمعن - االسم طول يزيد .30ال حرف في - استخدامها يمكن رموز على يحتوي $, _, #,A-Z, a-z, 0-9وهي : SQLأن-. بحرف يبدأ أن يجب-. المتغيرات لتعريف الصغيرة األحرف نستخدم غالبا

باستخدام- 2 المعرفة للمتغيرات ابتدائية قيم ال NOT NULL وCONSTANTوضع حتى. التعريف في خطأ يحصل

المحجوزة- := 3 الكلمة باستخدام أو باستخدام االبتدائية القيم DEFUALTوضع

4. جملة- كل في فقط واحد متغير تعريف

5. المحجوزة- الكلمات أحد المتغير اسم يكون ال أن

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

11

في PL/SQLالمتغيرات: للمتغيرات- قيم إسناد

o: للمتغيرات القيم إلسناد طريقتان هناك ثم المتغير اسم بكتابة نقوم بحيث اإلسناد جملة باستخدام

. التعبير وضعIdentifier := expression;

القيمة مثال: v _nameللمتغير Aliاسناد v_name :=’Ali’ ; أوv_name VARCHAR2(10) DEFAULT ’Ali’ ;

للمتغير حسابية عملية ناتج اسنادnet_sal

net_sal := v_sal – v_sal*.08 ;

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

12

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

من االسترجاع جملة خالل من القيم إسناد األخرى الطريقة. البيانات قاعدة

مثال: SELECT enameINTO v_nameFROM empWHERE empno = 7788;

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

. v_name للمتغير خطأ حدوث سيتم وإال

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

13

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

للمتغيرات البيانات Datatypesأنواع.1Scalar Datatype.2Composite Datatype.3LOB Datatype.4Bind Variables

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

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

النوع الوصف

VARCHAR2(size) ويمثل الطول المتغيرة الرمزية , sizeالبيانات أكبر لها طول أقصىهو Byte 32,676حجم

CHAR[(SIZE)] ويمثل الطول الثابتة الرمزية , sizeالبيانات لم وإذا لها طول أقصىاالفتراضية القيمة تكون الطول تحديد هو, 1يتم حجم أكبر

32,676Byte

NUMBER(precision,scale)

, والكسرية الصحيحة البيانات الكلي precisionلتمثيل الحجم يمثلو العشرية scaleللمتغير المنازل يمثل

DATE . وتاريخ وقت يخزن

BOOLEAN مثل منطقيا الممثلة TRUE,FLASEالبيانات

LONG RAW . الصور مثل ثنائيا الممثلة البيانات

LONG ويمثل الطول المتغيرة الرمزية , sizeالبيانات ويجب لها طول قصىهو , حجم أكبر التعريف عند الطول حجم Byte 32,670تحديد وأكبر

الجدول في 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

14

للمتغيرات البيانات Datatypesأنواع

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

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;

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

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ابتدائية

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

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);

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

18

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

. أوالحجم النوع نفس من تكون أن

أن : TABLESالجداول- 2 يشترط وال حقول عدة من تتكونأكثر ) هناك يكون أن وممكن أوالحجم النوع نفس من تكون

.) الجدول في صف من

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

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

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

20

الشاشة على PL/SQLالطباعة) الطباعة ) اإلخراج جملةo:مثال

SET SERVEROUTPUT ON في الجملة هذه وضع يجبالطباعة أمر تنفيذ يمكن حتى البداية

ACCEPT p_annual_sal PROMPT ' Please enter the annual salary '

Declarev_sal NUMBER(9,2) :=&p_annual_sal ;BEGINv_sal := V_sal /12;

DBMS_OUTPUT.PUT_LINE('Monthly Salary is '||TO_CHAR(v_sal)); الطباعة جملة

END;

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

21

الخالصة ماهيةPL/SQL( أقسامModules ).1Anonymous Block.2Named Block ( الوحدة (Blockأجزاء. المتغيرات

المتغيرات لتعريف العام الشكل identifier [CONSTANT] datatype [NOT NULL] [:= DEFAULT |

expression ] ;

( المتغيرات (.Datatypesأنواع.1Scalar Datatype.2Composite Datatype.3LOB Datatype.4Bind Variables