بتاريخ: 16 أغسطس 200619 سنة comment_76696 اريد اعمل viewيطالب بادخال القيمة كلما قمة باستدعائه بعد الانشاء مثلاً لوانشائة viewمن جدول الموظفين وذالك من خلال رقم الموظف واسم الموظف بشرط where empno=&no واريد بعد الانشاء كلماء استدعيت الview يطلب ادخال الرقمرجو المساعده لحل لهذا او ماهو البديل تم تعديل 16 أغسطس 200619 سنة بواسطة عبدالرحمن رسام تقديم بلاغ
بتاريخ: 16 أغسطس 200619 سنة كاتب الموضوع comment_76697 الاخ اسامة الاخوة الاعضاء اريد الرد ضروري شاكر تعاونكم تقديم بلاغ
بتاريخ: 16 أغسطس 200619 سنة comment_76722 لم اسمع بطريقه مباشره لعمل ذلك ولكن يمكنك ذلك طريق الرزم 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 تحصل علي نتائج متغيره ويلاحظ هنا ان المتغير الخاص بالرزمه يتم التعامل معه علي مستوي جلسة العمل فقط بمعني لو ان هناك اكثر من مستخدم يريدون التعامل معه يمكن ذلك مع تمنياتي بالتوفيق تقديم بلاغ
بتاريخ: 16 أغسطس 200619 سنة كاتب الموضوع comment_76737 استاذي العزيز عبدالله اشكرك شكر من اعماق قلبي على تفضلك بلرد وجزاك الله خيراً وكثر الله من امثالك يا استاذيلكن ارجو منكم المزيد من التوضيح وخاصة اخر كود؟وهل يصح استخدامة مع حقل التاريخ اذا كان هو في الشرط ويطلب بين تاريخين؟datee between a and b تم تعديل 16 أغسطس 200619 سنة بواسطة عبدالرحمن رسام تقديم بلاغ
بتاريخ: 17 أغسطس 200619 سنة comment_76772 يمكنك استخدامه في حالة تاريخين بزياده عدد المتغيرات في الرزمه و فنكشن جديده و بروسيدجورال جديده للمتغير الجديد الفكره بسهوله هيا تخزين قيمة في متغير بالرزمه و ذلك عن طريق اخر كود و استرجاعه في الفيو عن طريق الجمله الشرطيه جرب المثال الموضوح و ستفهم اكثر و هي شبيهه جدا بعمل جدول ووضع قيمه واحده فيه و في الجمله الشرطيه للفيو تتضع شرط ان الرقم يساوي الرقم الموجود بالجدول ولكن مشكلة هذه الطريقه هي انها لمستخدم واحد فقط اما الباكيدج فتخزن قيمة لكل جلسة عمل منفصله بالتوفيق تقديم بلاغ
بتاريخ: 19 أغسطس 200619 سنة كاتب الموضوع comment_76864 جربت المثال الذي اعطيته يا استاذي ولكن يحدث خطاء فما الحل لهذا الخطاء؟؟؟؟؟؟ارجو منك المساعدة 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 تم تعديل 19 أغسطس 200619 سنة بواسطة عبدالرحمن رسام تقديم بلاغ
بتاريخ: 20 أغسطس 200619 سنة comment_76897 انا جربت المثال ده وشغال 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 / تقديم بلاغ
بتاريخ: 21 أغسطس 200619 سنة كاتب الموضوع comment_77008 الشهم شهم والكريم تعرفه يغرقك بكرمةشكراً لك استاذي العزيز تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.