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

اجابه و شرح لسؤال ؟


ahmed_samir

Recommended Posts

الاجابه الصحيحه A-discouted 10
لان لما بتيجى تستدعى package ال variable الموجوده في ال package بتاخد القيمه ال intial وفي الحاله دى ال intial عندك
0.10 مش 0.00

رابط هذا التعليق
شارك

بالنسبه للسؤال التالى
وسؤالك الخاص بما الفرق بين DEPTREE & IDEPTREE
في chapter 8في ال program unite
ال chapter ده مهم جدا بالنسبه للامتحان
وفيه الاجابه على سؤالك وفي كذا سؤال في نموذج الامتحان من نفس ال chapter لو مقرأتش ال chapter ده هيقفوا قدامك هو مهم جدا وهتلاقى فيه بأذن الله الجواب على كذا سؤال عندك

رابط هذا التعليق
شارك

السلام عليكم

الاخت الفاضله ..

بالنسبه لموضوع المتغيرات بال package طبعا تسلسل السطور هو مبدء تنفيذ الكود .. حنلاحظ ان هو مقلش لثانى مرة يعنى هى لاول مرة طيب هو دخل على البروسيدر و عطابه قيمه و المفروض انه خرج بنتيجه من البروسيدر ده بقيمه " صفر " طيب يبقا مرجوع البروسيدر هو صفر و حيبقا المتغير بعد كدة ب 0.10 لاكن ده خارج البروسيدر فاذا اخدة لان حتى العمليه الحسابيه مش بتتعمل غير داخل البروسيدر ّ!! فانا مش عارف اعتقد ان برضوا لبلجابه هى الصفر ..

ولا اه رايك؟

رابط هذا التعليق
شارك

السلام عليكم
لاء الكود في ال package مش هيتنفذ بالصوره الحضرتك بتقول عليها مش سطر سطر
اولا عند استدعاء ال package في جزء من ال memory بيتحجز وبيتوضع فيه قيم المتغيرات الهتستخدمها والمش هتستخدمها
فبكده المكان الخاص ب discount_rate متخزن فيهاخر قيمه خدها المتغير ده الهى 0.10
مش 0.00
وبعدها كده بيستدعى ال procedure البيكون شايف القيمه 0.10
ولو مش واثق في الكلام نفذ الكود وهتعرف

create or replace package d
is
g_id number:=7839;
d_rate number:=0.00;
procedure d_p( p number);
end d;
/
create or replace package body d is
procedure d_p ( p number) is
begin dbms_output.put_line('dicounted'||to_char(p*nvl(d_rate,1)));
end d_p;
begin d_rate :=0.10;
end d;
/
set serveroutput on;
execute d.d_p(100);

رابط هذا التعليق
شارك

يا اخ احمد اريحك من الموضوع هذا

في لغات البرمجه كللللللها في حاجه اسمها المتغير الاستاتيك static variable وبتختلف طريقه تعريفه وانشائه من لغة برمجه لاخرى

ولكن المفهوم بتاع هذا المتغير وااحد وهو انهو متغير قيمته ثابته لا تتغير

في الاوراكل بيتم تعريف المتغير دا زيييو زي اي متغير تاني ويتم تعريفه ايضا داخل الباكيج الشيئ الي بيميز هذا المتغير عن باقي المتغيرات

انو لما تيجي تتعامل معاه لازم تضع قبله كلمة begin وبهذه الطريبقه تكون عرفت متغير من النوع ستاتيك وزي ما قالت الاخت سارا جمال انو الباكيج اول

ما يتم تنفيذها بيتم تحملها على الذاكره وبالتالي راح يتم تحميل هذه الباكيج ويتم تحميل قيمة المتغير الاستاتيك بالقيمة 0.10 إذن عند اول استدعاء

راح يضرب 100 * 0.10 = 10

والسلام عليكم

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية