الانتقال إلى المحتوى
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.

اريد اعمل viewيطالب بادخال القيمة

Featured Replies

بتاريخ:

اريد اعمل viewيطالب بادخال القيمة كلما قمة باستدعائه بعد الانشاء

مثلاً لوانشائة viewمن جدول الموظفين وذالك من خلال رقم الموظف واسم الموظف بشرط
where empno=&no واريد بعد الانشاء كلماء استدعيت الview يطلب ادخال الرقم
رجو المساعده لحل لهذا او ماهو البديل

تم تعديل بواسطة عبدالرحمن رسام

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

الاخ اسامة الاخوة الاعضاء اريد الرد ضروري شاكر تعاونكم

بتاريخ:

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

CREATE OR REPLACE 
PACKAGE testx AS

x number;
   PROCEDURE set_x
    ( z number);
    function get_x  return number;
END testx;
/


CREATE OR REPLACE 
PACKAGE BODY testx IS 

PROCEDURE set_x( z number) is 
begin
x := z;
end;
   
 function get_x  return number IS
begin
 return x;
 END;

END;
/



ثم انشئ الفيو عادي وفي جملة الشرط
where empno=testx.get_x
وقبل تشغيل الفيو يجب ارسال المتغير عن طريق

begin
testx.set_x(11);
end;


وبتغير القيمه 11 تحصل علي نتائج متغيره
ويلاحظ هنا ان المتغير الخاص بالرزمه يتم التعامل معه علي مستوي جلسة العمل فقط بمعني لو ان هناك اكثر من مستخدم يريدون التعامل معه يمكن ذلك
مع تمنياتي بالتوفيق

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

استاذي العزيز عبدالله اشكرك شكر من اعماق قلبي على تفضلك بلرد
وجزاك الله خيراً وكثر الله من امثالك
يا استاذي

لكن ارجو منكم المزيد من التوضيح وخاصة اخر كود؟
وهل يصح استخدامة مع حقل التاريخ اذا كان هو في الشرط ويطلب بين تاريخين؟
datee between a and b

تم تعديل بواسطة عبدالرحمن رسام

بتاريخ:

يمكنك استخدامه في حالة تاريخين بزياده عدد المتغيرات في الرزمه و فنكشن جديده و بروسيدجورال جديده للمتغير الجديد
الفكره بسهوله هيا تخزين قيمة في متغير بالرزمه و ذلك عن طريق اخر كود و استرجاعه في الفيو عن طريق الجمله الشرطيه
جرب المثال الموضوح و ستفهم اكثر
و هي شبيهه جدا بعمل جدول ووضع قيمه واحده فيه و في الجمله الشرطيه للفيو تتضع شرط ان الرقم يساوي الرقم الموجود بالجدول ولكن مشكلة هذه الطريقه هي انها لمستخدم واحد فقط
اما الباكيدج فتخزن قيمة لكل جلسة عمل منفصله
بالتوفيق

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

جربت المثال الذي اعطيته يا استاذي ولكن يحدث خطاء فما الحل لهذا الخطاء؟؟؟؟؟؟
ارجو منك المساعدة

CREATE OR REPLACE 
PACKAGE testx AS

x number;
  PROCEDURE set_x( z number);
   function get_x  return number;
END testx;
/


CREATE OR REPLACE 
PACKAGE BODY testx IS 

PROCEDURE set_x( z number) is 
begin
x := z;
end;
  
function get_x  return number IS
begin
return x;
END;

END;
/
----------------------------------
SQL> create view aa as(select * from emp
 2  where empno=testx.get_x);
where empno=testx.get_x)
           *
ERROR at line 2:
ORA-06571: Function GET_X does not guarantee not to update database

تم تعديل بواسطة عبدالرحمن رسام

بتاريخ:

انا جربت المثال ده وشغال

CREATE OR REPLACE VIEW testq (
  f_id,
  f_name )
AS
SELECT a.f_id, a.f_name
 FROM test1 a
 where a.f_id=testx.get_x
/

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

الشهم شهم والكريم تعرفه يغرقك بكرمة
شكراً لك استاذي العزيز

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

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

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

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

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

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.