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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

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


7 رد (ردود) على هذا الموضوع

#1 عبدالرحمن رسام

عبدالرحمن رسام

    عضو

  • الأعضــاء
  • 20 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:تصميم قواعد البيانات
    والتكنلوجيا بشكل عام
    الكتب البرمجية

تاريخ المشاركة 16 August 2006 - 11:20 AM

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

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

تم التعديل بواسطة عبدالرحمن رسام, 16 August 2006 - 11:22 AM.

اللهم زدني علما

#2 عبدالرحمن رسام

عبدالرحمن رسام

    عضو

  • الأعضــاء
  • 20 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:تصميم قواعد البيانات
    والتكنلوجيا بشكل عام
    الكتب البرمجية

تاريخ المشاركة 16 August 2006 - 11:23 AM

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

#3 عبدالله ندا

عبدالله ندا

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,017 مشاركة
  • الاسم الأول:عبدالله
  • اسم العائلة:ندا
  • البـلـد: Country Flag
  • المنصب الحالي:Technical Applications Manager

تاريخ المشاركة 16 August 2006 - 03:47 PM

لم اسمع بطريقه مباشره لعمل ذلك ولكن يمكنك ذلك طريق الرزم 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 تحصل علي نتائج متغيره
ويلاحظ هنا ان المتغير الخاص بالرزمه يتم التعامل معه علي مستوي جلسة العمل فقط بمعني لو ان هناك اكثر من مستخدم يريدون التعامل معه يمكن ذلك
مع تمنياتي بالتوفيق

في زمننا هذا .........................
ليس هناك قلب ناصع البياض ...
ولا قلب قاتم السواد ...
ولكن دائما
BLACK&WHITE

 

مع تحياتي
عبدالله ندا

http://anada.4shared.com

abdallahnada@hotmail.com 


#4 عبدالرحمن رسام

عبدالرحمن رسام

    عضو

  • الأعضــاء
  • 20 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:تصميم قواعد البيانات
    والتكنلوجيا بشكل عام
    الكتب البرمجية

تاريخ المشاركة 16 August 2006 - 07:52 PM

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

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

تم التعديل بواسطة عبدالرحمن رسام, 16 August 2006 - 08:03 PM.

اللهم زدني علما

#5 عبدالله ندا

عبدالله ندا

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,017 مشاركة
  • الاسم الأول:عبدالله
  • اسم العائلة:ندا
  • البـلـد: Country Flag
  • المنصب الحالي:Technical Applications Manager

تاريخ المشاركة 17 August 2006 - 10:37 AM

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

في زمننا هذا .........................
ليس هناك قلب ناصع البياض ...
ولا قلب قاتم السواد ...
ولكن دائما
BLACK&WHITE

 

مع تحياتي
عبدالله ندا

http://anada.4shared.com

abdallahnada@hotmail.com 


#6 عبدالرحمن رسام

عبدالرحمن رسام

    عضو

  • الأعضــاء
  • 20 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:تصميم قواعد البيانات
    والتكنلوجيا بشكل عام
    الكتب البرمجية

تاريخ المشاركة 19 August 2006 - 02:11 PM

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

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 August 2006 - 02:28 PM.

اللهم زدني علما

#7 عبدالله ندا

عبدالله ندا

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,017 مشاركة
  • الاسم الأول:عبدالله
  • اسم العائلة:ندا
  • البـلـد: Country Flag
  • المنصب الحالي:Technical Applications Manager

تاريخ المشاركة 20 August 2006 - 08:11 AM

انا جربت المثال ده وشغال
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
/


في زمننا هذا .........................
ليس هناك قلب ناصع البياض ...
ولا قلب قاتم السواد ...
ولكن دائما
BLACK&WHITE

 

مع تحياتي
عبدالله ندا

http://anada.4shared.com

abdallahnada@hotmail.com 


#8 عبدالرحمن رسام

عبدالرحمن رسام

    عضو

  • الأعضــاء
  • 20 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:تصميم قواعد البيانات
    والتكنلوجيا بشكل عام
    الكتب البرمجية

تاريخ المشاركة 21 August 2006 - 12:08 PM

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