الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ما معنى Send By Value?

Featured Replies

بتاريخ:

السلام عليكم

ما معنى ان المتغيرات ترسل الي Procedure بطريقتين :

1 - send by balue

2- send by reference

?????

تم تعديل بواسطة hearthouse

بتاريخ:

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 المتقدم إذا أحببت التعمق بها ادرسه.

والله الموفق

بتاريخ:
  • كاتب الموضوع

هل يمكنك رفع كتاب PL/SQL reference و SQL reference؟؟؟؟

بتاريخ:

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

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

بتاريخ:
  • كاتب الموضوع

مشكور على متابعتك للموضوع و المساعدة

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.