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

ما معنى Send By Value?


hearthouse

Recommended Posts

SEND BY VALUE
يتم استدعاء الإجرائية بواسطة برنامج(تابع أو اجرائية) وتكون معاملات الإجرائية قيم ثابتة مثل:
PROC1(3,'XX',4.....)

SEND BY REFERENC
تكون معاملات الإجرائية متغيرات تابعة للبرنامج المستدعي مثل
DECLARE
SS NUMBER;
BEGIN
PROC1(3,SS,4,....)
END;
حيث SS متغير تابع للبرنامج المستدعي.

والله أعلم

تم تعديل بواسطة hassan978hmk
رابط هذا التعليق
شارك

لكن ما معنى هذا الكود






create or replace procedure format_tel(p_phone_no in out varchar2)
is 
BEGIN
p_phone_no:='('||substr(p_phone_no,1,3)||')'||substr(p_phone_no,4,3)||' - '||substr(p_phone_no,7);
DBMS_OUTPUT.PUT_LINE(p_phone_no);
end format_tel;


declare
show_tel varchar2(20):='800633123';
begin
format_tel(show_tel);
dbms_output.put_line(show_tel);
END;







المفروض ان المتغيرات يتم ارسالها بالقيم send by value في حالة IN OUT PARAMATERS

و ان هنا قد مررت متغير اسمه show_tel الى الاجراء format_tel , اذن ما معنى هذا؟؟؟

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

أولاً الــ PARAMETER الخاص بالإجرائية يسمى FORMAL أو ACTUAL
format_tel(p_phone_no in out varchar2)
هنا يسمى FORMAL
أما عند الاستدعاء يسمى ACTUAL
format_tel(show_tel);

الــ PASS BY REFERENCE , PASS BY VALUE تطبق على ACTUAL
------------------
في حالة IN
Actual parameter is passed by reference (a pointer to the value is passed in)
------------------
في حالة OUT ,INOUT
Actual parameter is passed by value (a copy of the value is passed out)

هذا ما هو مكتوب في PL/SQL REFERENCE

في الرد الأول كنت مخطأً

وهذه الأفكار موجودة في منهاج PL/SQL المتقدم إذا أحببت التعمق بها ادرسه.

والله الموفق

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

الكتاب موجود في مكتبة أوراكل مع تشكيلة واسعة من الكتب الرائعة الأخرى ولكن لاحظ أن معظمها كبير الحجم , مثلا sql reference حجمه 21M ,الرابط هو التالي

http://www.oracle.com/pls/db10g/portal.por...emo3?selected=1
بالتوفيق

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

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

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

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

×   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.

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

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

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