بسم الله الرحمن الرحيم
المعاملات الحسابية المستخدمة
فيمايلي اغلب المعاملات الحسابية المستخدمة بكثرة في لغة 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


منتدى الأدشات »
MySQL
»
عرض نسخة صالحة للطباعة

