الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

انشاء حقل محسوب

بدأه A7med_prof في 15 مارس 2008 · 2 رد · 1,575 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

كيف لي انشاء حقل محسوب يتم فيه جمع القيم السابقه له ,,,,

مثلا لدي ثلاث حقول f1 و f2 و f3 حيث ان f3 هو الحقل المحسوب بهذا الشكل .

-----------------------------------------------

f1 | f2 | f3

-----------------------------------------------

1 | 100 | 100

2 | 200 | 300

3 | 600 | 900

-----------------------------------------------

مثلا في الصف الاول f3 = اجمالي f2 حتى هذا الصف = 100

و في الصف الثاني f3 = اجمالي f2 حتى هذا الصف = 100 + 200 = 300

و في الصف الثالث f3 = اجمالي f2 حتى هذا الصف = 100 + 200 + 600 = 900

وهكذاااااا ,,,,,,,,,,,,

ارجو ان اجد الحل لديكم

بالتوفيق

اقتباس

آسف الدخول متقطع هذه القتره

اقتباس

[يمين]

.[/يمين]

A7med_prof-4-2007.jpg

اخر مواضيعي 2007

االمثال مطبق على موقع بورصه سعودي

.

.

مواضيع مهمه ومطلوبه بكثره VB6

.

بــرامج ومشــاريع عربيه كامــله {HnHn} والمزيد في قسم برامج الاعضاء || ربط قواعد بيانات اكسس مع الفيجوال بيسك, مادة دراسية كاملة {بنت اليمن}|| المرجع الشامل لجمل SQL ا {GENIUS-IT} || كيفية التعامل مع مكتبة الـ DAO, في الوصول إلى قاعدة بيانات {رمضان} || مثال ريط Visaul Basic 6.0 مع SQL SERVER ا || العمليات التي تجرى على قاعدة البيانات, مثال كامل {بنت اليمن} || تصدير البيانات من الاكسل الي الاكسس بالفيجوال بيسك {HnHn} || البحث في قاعدة البيانات {MANSUR} || قواعد البيانات العلائقية وتقنيات الوصول إليها {عبد الله فتحي} || كيفية أظهار بيانات جدولين بواسطة التاريخ ,,,,,,,

.

أخي ربما سؤالك اجابته في أحدى هذه المواضيع فإن لم تجد قم بالبحث وان لم تجد اطرح سؤالك مع وضع عنوان مناسب بحيث ان يكون هذا العنوان دال على محتوى الموضوع فغير ذلك من أكبر الكبائر في المنتدى وسيؤدي الى غلق او حذف موضوعك .

.

</
#2

( الطريقة الأولي )

1- Create Table :

Create Table XX
(
   A	Number(20)
)
/
Insert Into XX Values(100);
Insert Into XX Values(200);
Insert Into XX Values(300);
Commit;

2- Create Types :

Create Or Replace Type O Is Object(A  Number(20));
/
Create Or Replace Type T Is Table Of O;
/

3- Create the function return table :

Create Or Replace Function Get_XX Return T
As
	Cursor Cur Is Select A From XX;
	P_XX   T := T();
	ID_Sum	Number;
	ID_Field   Number;
Begin
	Open Cur;
	Fetch Cur Into ID_Field;
	While Cur%Found
	Loop
		ID_Sum := ID_Sum + ID_Field;
		P_XX.ExtEnd;
		P_XX(P_XX.Count) := ID_Sum;
		Fetch Cur Into ID_Field;
	End Loop;
	Close Cur;

	Return P_XX;
End;
/

4- Get the records table :

Select * From Table(Get_XX);

----------------------------------------------------

( الطريقة الثانية )

نفرض أن لدينا جدول يدعي Emp ، به أكثر من سجل ، وبه حقل الراتب Emp_Salary ، كما أنه يحتوي علي حقل الـ PK مرقم ترقيم تلقائي Emp_ID يمكننا فعل ذلك كما يلي :

Create Table Emp
(
  Emp_ID	  Number(20),
  Emp_Name VarChar2(50),
  Emp_Salary Number(10,3),
  Constraint PK_EMP Primary Key(Emp_ID)
)
/
Insert Into Emp Values(1,'Ahmed',100);
Insert Into Emp Values(2,'Usif',200);
Insert Into Emp Values(3,'Sara',300);
Commit;

يتم إجراء إستعلام علية كما يلي :

Select E1.Emp_ID,E1.Emp_Name,E1.Emp_Salary,
		 (Select Sum(E2.Emp_Salary) From Emp E2 Where E2.Emp_ID <= E1.Emp_ID) As Emp_Sum_Salarys
From Emp E1
Order By Emp_ID

وهذا نفس الكود السابق مع إجراء ترقيم للسجلات :

Select RowNum,(Select Sum(E2.Emp_Salary) From Emp E2 Where E2.Emp_ID <= E1.Emp_ID) As Emp_Sum_Salarys
From Emp E1
Order By Emp_ID

شكراً

تم تعديل هذه المشاركة بواسطة MMA_EG_Cairo في 15 مارس 2008 في 20:03

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#3

السلام عليكــم ورحمـة الله وبركاتــه

على سبيل المثال جدول الموظفين

:EMP.V_X := :EMP.SAL + :EMP.COMM ;

العمولة + الراتب = المتغير

مواضيع مشابهة