الصفحة الرئيسية

 

المنتديات

 

الدروس التعليمية

 

قسم التصاميم

 

راسلنا

دليل المواقع صندوق الألوان خدماتنا مكتبة الصوتيات مكتبة الخطاط
سجل الزوار صفحة الفريق مكتبة الجافا مكتبة الأدوات مجلة الموقع

 

   
 
دروس الفوتشوب

 

   
 
دروس الفوتشوب

 سلسله دروس PL/SQL:الدرس الاول

بسم الله الرحمن الرحيم

المعاملات الحسابية المستخدمة

فيمايلي اغلب المعاملات الحسابية المستخدمة بكثرة في لغة pl/sql واذا كنت معتاد على لغة برمجة فلن تكون هذا الشي جديد عليك

+      الجمع

*      الضرب

**    الاس

-       الطرح

/       القسمة

 

المعاملات العلاقية :

< >          لايساوي

^ =           لايساوي

>              اكبر من

!=            لايساوي

<              اقل من

 

انواع البيانات شائعة الاستخدام :

1- varchar2

هذا النوع متغير الطول ويشتمل على الاحرف الابجدية والارقام

X    varchar2(20)

حيث الموجود داخل القوسين هو length  الطول

ومن الممكن اعطاءه قيمة ابتدائية كمايلي

X   varchar2(20)='hamad'

 

2- number

يستخدم لتمثيل البيانات الرقمية وتكون صيغة الاعلان كمايلي:

Num  number(s)

S هي عدد الارقام(الخانات) وتاخذ قيمة بين 1 إلى 38

 

ويمكن ايضا تعريف اي متغير رقمي من النوع العشري كمايلي:

Num  number(s,p)

 

حيث s عدد خانات الرقم الصحيح وايضا العشري

اما p  فهي عدد المنازل(الخانات) بعد الفاصلة مثال

Num number(12,2)

معنى هذا ان الرقم num  مكون من 10 ارقام صحيحة وؤقمين بعد الفاصلة وبذلك بكون المجموع 12

 

3-  date  :

يستخدم هذا المتغير لتخزين قيم التواريخ مثل

Date_brith  date;

في الوضع الافتراضي يعرض اوراكل قيمة التاريخ بالشكل

 DD-MON-YY

 

4- Boolean  :

منطقي true  او false

 

نبدأ الان بمكونات pl/sql  :

برامج pl/sql تتم كتابتها في كتل من اوامر البرمجة تحتوي على مقاطع منفصلة للاعلان عن المتغيرات واوامر البرامج ومعالجة الاستثناءت(الاخطاء) .

ومن الممكن تخزبن الاجراء في قاعدة البيانات كبرنامج فرعي له اسم محدد او كتابتها  مباشرة في sql * plus ككتله مجهولة.

 

 وكتلة البرنامج كمايلي:

سنبدا اولا كتابة الاجراء مباشرة في sql * plus وهي كمايلي:

DECLARE

                                هنا توجد تعريفات المتغيرات والموشرات

BEGIN

جسم البرنامج  

 

EXCEPTION

رموز معالجة الاخطاء

END:

مع ملاحظة مايلي:

ان قسم declare وقسم exception هما اختيارين اي لايشترط وجودهما

اي اذا كان لايوجد لديك تعريف متغيرات لاتستخدم declare واذا كنت لان تتعامل مع الاخطاء لاتستخدم  exception

----------------------------------------------------------------------

طرق الاسناد

مثل اذا اردت ان تقول ان قيمة i=5 فيتم ذلك كمايلي:

i:=5;

يجب وضع النقطتين قبل =  

 

سوف ناخذ مثال على ذلك

يوجد ضمن اوامر sql الامر DBMS_OUTPUT.PUT_LINE

يستخدم لكي تعرض النتيجة في sql * plus والصيغة العامة له :

                             DBMS_OUTPUT.PUT_LINE(massege)

حيث massage هي النص او الشي الذي تريد عرضة

تم شرح هذا الامر لكي نبدأ به ونستخدمه لفهم اوامر ال pl/sql لكن في المستقبل سوف تعرف ان هذا الامر لايهمك كثيرا.مثال :

نريد طباعة "ARABTEAM2000" على الشاشة sql * plus يتم ذلك كمايلي:

SET SERVEROUTPUT ON;

BEGIN

DBMS_OUTPUT.PUT_LINE('ARABTEAM2000');

End;

جرب هذا ولاحظ النتائج ولعلك تتسال عن سبب وجود السطر الاول

السطر الاول يخبر sql * plus بأن يكتب كل مايعود به المخدم.

ويكفي كتابته مرة واحدة عندما تدخل sql * plus

 

مثال اخر باستخدام المتغيرات

Declare

i   number(5);

BEGIN

i:=5;

DBMS_OUTPUT.PUT_LINE('i = ' || i);

END;

جرب هذا الكود ولاحظ النتائج

فائدة || الموجدة ضمن عملة الطباعة هي للوصل بين التعبيرين

اوامر اللغة :

أ‌-      الشرط عبارة if then

تستخدم هذه العبارة مثل اي  العبارت الشرطية في لغة سي او سي++ او فيجوال بيسك وغيرها , ولها استخدمات عديدة وسوف نعرف كيف نستخدمها مقدما مع حقول قواعد البيانات وذلك بعد اخذ المؤشرات

الصيغة العامة لها كمايلي:

IF   conditonal      THEN

جواب الشرط

ELSE

جواب الشرط اذا كان خطأ

END IF

حيث conditional هي الشرط مثال على ذلك :

Declare

i   number(5);

BEGIN

i:=5;

IF i=5 then

DBMS_OUTPUT.PUT_LINE('i = ' || i);

ELSE

DBMS_OUTPUT.PUT_LINE('i not eqal 5 ');

                                                                               END IF;

END;

 

الشرط باستخدام اكثر من شرط

Declare

i   number(5);

BEGIN

i:=5;

IF i>1 then

DBMS_OUTPUT.PUT_LINE(i  || ' > 1');

ELSIF i<1 then

DBMS_OUTPUT.PUT_LINE(i  || ' < 1');

ELSIF i=1 then

DBMS_OUTPUT.PUT_LINE(i  || ' = 1');

                                                                               END IF;

END;

لكن لاحظ هنا فقط كتابة elsif ولاتخطي فيها فهي ليست elseif

 

 

اتمنى لكم التوفيق ارجو تطبيق ماسبق لانه تمهيد مهم لما سوف يأتي

 

الدرس القادم مهم جدا جدا جدا جدا  سوف نشرح التكرار و cursors الموشرات وهي من اهم الاشياء

 

حمد المهندس

 

دعواتكم الصالحة

1
دروس الجافا
دروس السويش دورة الأوركال
دروس لغة ال php برمجة ال C و ++C
دروس لغة ال ASP دروس اللنكس
دروس الأكسس قواعد البيانات mysql / sql
دروس ال MCSE دروس ال html
دروس الفلاش دروس الفرونت بيج
دروس الفيجوال بيسك دروس وندوز اكس بي
دروس برمجة الدلفي    
     
 

 

     

All Rights Reserved     ©     جميع الحقوق محفوظة

2003

شبكة بكسل

www.pxll.com