إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

سؤال في Ql


1 رد (ردود) على هذا الموضوع

#1 heba_salah_ali

heba_salah_ali

    عضو

  • الأعضــاء
  • 6 مشاركة

تاريخ المشاركة 31 May 2009 - 10:13 AM

define p=50.5
declare
v number (9,2) := &p;
begin
v :=v/12;
end; -- the end
/


- ما هو الفرق بين define و declare

- لم يعطيني رسالة النهاية (-- the end ) ولا اعرف لماذا

#2 mustafagamiel

mustafagamiel

    مشرف قسم النماذج والمشاريع

  • فريق الإشراف
  • 2,095 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 31 May 2009 - 10:55 AM

السلام عليكم

تمت الاجابة من قبل على هذا السؤال لكن
كي يتم التعرف أكثر على أمر ال define
إنتي فتحتي session يعني قمتي بفتح isql وقمتي بتعريف المتغير p من خلال امر define وأعطيته قيمة طول ماإنتي شغالة ولم تغلق هذه ال session أقصد ال isql سيكون المتغير p موجود ويمكن استدعاء قيمته من أي procedure بسهولة وعند إغلاق ال sql انتهى المتغير وانتهت قيمته
بينما في ال declare أي متغير داخل كود متكون من declare ------- end هذا المتغير سيكون فقط معلوم داخل هذا البلوك يعني انتي عرفتي متغير اسمه v هذا المتغير خارج هذا الكود لايتم التعرف عليه

declare دي كلمة للتعريف وجودها ضروري لو في نتغيرات قبل ال begin زي المتغير v الاي انتي عرفتيه ولو مشموجود متغيرات يمكن كتابتها أو لا

بالنسبة للكود السابق بالطبع لايخرج شيء لعدم وجود أمر طباعة المخرجات الاي هو dbms_out

ولاتنسي كتابة أمر set serveroutput on
إذن الكود بعد التعديل هيكون كده



set serveroutput on
declare
v number (9,2) := &p;
begin v :=v/12;
dbms_output.put_line(v);
end; -- the end
/

اللهم إن كان رزقي في الســــــــــماء فأنزله
وإن كان في الأرض فأخرجـه
وإن كان بعيدا فقربه وإن كان قريبا فيسره
وإن كان قليلا فكثره وإن كان كثيرا فبارك لي فيه

اللـــهم آمين
لا إله إلا الله وحده لاشريك له- له الملك وله الحمد وهو على كل شيء قدير
لا إله إلا أنت سبحانك-- إني كنت من الظالمين