Upload
brock-allison
View
105
Download
2
Embed Size (px)
DESCRIPTION
PL/SQL تعريف المتغيرات. مقدمة في PL/SQL. ماهي لغة PL/SQL ؟ هي عبارة عن تطوير للغة SQL حيث أعطت المرونة ل SQL بحيث يمكن كتابة جمل متعددة مثل استخدام متغيرات وجمل الدوران والشرط...إلخ - PowerPoint PPT Presentation
PL/SQL المتغيرات تعريف
2
في PL/SQLمقدمة
لغة ؟ PL/SQLماهيللغة تطوير عن عبارة ل SQLهي المرونة أعطت SQLحيث
متغيرات استخدام مثل متعددة جمل كتابة يمكن بحيث... إلخ والشرط الدوران وجمل
تتألفPL/SQL تسمى الوحدات من منفصلة مجموعة منModules النهائي الهدف إلى للوصول معينة وظيفة له منها كل
. البرنامج من
3
في PL/SQLمقدمة
( تنقسمModules : )قسمين إلىمسماة 1. غير برمجية هذه: Anonymous Blockوحدة
ولكن البيانات قاعدة في تخزن وال محدد اسم لها ليس الوحدة. لها الحاجة عند يكون واستخدامها الذاكرة في تحميلها يتم
معروفة 2. برمجية أحيانا: 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لتخزين
: المتغيرات استخدام فوائد.1 : على لتحتوي استخدامها يمكن المخزنة البيانات معالجة
عملية اجراء ومثال البيانات قاعدة في المخزنة القيم. عليها حسابية
.2 : الذاكرة في مكان بحجز يقوم المتغير االستخدام إعادةعملية في مرة من أكثر المتغير استخدام نستطيع بالتالي
. البرنامج تنفيذ خالل البيانات واسترجاع تخزين.3. الصيانة سهولة
8
في PL/SQLالمتغيرات
المغيرات من: تعريف بد ال المتغيرات استخدام عندمنقوطة ) بفاصلة تنتهي منفصلة جمل في ;(.تعريفها
: المتغيرات لتعريف العام الشكل identifier [CONSTANT] datatype [NOT NULL] [:= DEFAULT |
expression ] ;identifier . المتغير اسم
CONSTANT المتغير وضع إذا بحيث المتغير على قيد يعتبرCONSTANT إسناد ويجب قيمته تعديل يمنع
. تعريفه عند له ابتدائية قيمة
datatype المتغير في تخزينها يمكن التي البيانات نوع... إلخ رقم أو حرف
NOT NULL وعند قيمة على المتغير يحتوي أن يجب أي. له ابتدائية قيمة إسناد يجب تعريفه
expression . عملية أو آخر متغير يكون أن إما
DEFAULT معينة قيمة إسناد هناك سيكون أنه تعني كلمة
9
في PL/SQLالمتغيرات
: مثالDeclarev_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ال حرف في - استخدامها يمكن رموز على يحتوي $, _, #,A-Z, a-z, 0-9وهي : SQLأن-. بحرف يبدأ أن يجب-. المتغيرات لتعريف الصغيرة األحرف نستخدم غالبا
باستخدام- 2 المعرفة للمتغيرات ابتدائية قيم ال NOT NULL وCONSTANTوضع حتى. التعريف في خطأ يحصل
المحجوزة- := 3 الكلمة باستخدام أو باستخدام االبتدائية القيم DEFUALTوضع
4. جملة- كل في فقط واحد متغير تعريف
5. المحجوزة- الكلمات أحد المتغير اسم يكون ال أن
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 ;
12
في PL/SQLالمتغيرات
من االسترجاع جملة خالل من القيم إسناد األخرى الطريقة. البيانات قاعدة
مثال: SELECT enameINTO v_nameFROM empWHERE empno = 7788;
فقط واحدة قيمة تعيد االسترجاع عملية أن إلى االنتباه يجب
. v_name للمتغير خطأ حدوث سيتم وإال
13
في PL/SQLالمتغيرات
للمتغيرات البيانات Datatypesأنواع.1Scalar Datatype.2Composite Datatype.3LOB Datatype.4Bind Variables
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أنواع
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_sal1 NUMBER: =1000 ;v_sal2 NUMBER: =2500 ;v_valid BOOLEAN:= (v_sal1 > v_sal2);
18
في PL/SQLالمتغيرات للمتغيرات البيانات Datatypesأنواعالمركبة. 2 :Composite Datatypeالمتغيراتيشترط : RECORDSالسجالت- 1 وال حقول عدة من تتكون
. أوالحجم النوع نفس من تكون أن
أن : TABLESالجداول- 2 يشترط وال حقول عدة من تتكونأكثر ) هناك يكون أن وممكن أوالحجم النوع نفس من تكون
.) الجدول في صف من
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الطباعة) الطباعة ) اإلخراج جملة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;
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