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

مساعدة

مغلق
بدأه ثامر في 18 يوليو 2004 · 7 رد · 606 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ممكن يا أخوان أنكم تساعدوني في هذه الموضوع

يوجد لدي جدول العملاء و جدو الأصناف وبما أن العلاقة اللتي بين الجدولين

علاقة متعدد لمتعدد فإنه لا بد من جدول ثالث ألا وهو جدول فاتورة البيع

رقم العميل و رقم الصنف ((كمفتاح غريب))ممكن أنه يتكرر

و رقم الفاتورة ((مفتاح رئيسي)) لا يمكن أن يتكرر

لنفرض أن العميل طلب عدة إصناف في فاتورة واحدة

الأمر اللذي أجتاج لخبرتكم فيه

هو

كيف أني أجعل هذه الأصناف ((مثلا لوكانت 10 أصناف)) في فاتورة

مع العلم أن كل فاتورة لها رقم تلقائي ..

آمل أن أ:ون قد وضحت لكم الصورة

#2

ممكن بنية الجداول الخاصة بك لنساعدك في كتابة الاستعلام.

ولكن لا تستعجل ، لأنني مشغول قليلا هذه الأيام. :)

فكر بطريقة أخرى

#3

لا توجد مشكلة فيما تقول

العلاقة وان تو منى من العميل للفاتورة

العلاقة وان تو منى من الاصناف للفاتورة

بالتالى يمكن يكون محتوى الجدول

رقم الفاتورة

رقم العميل

رقم الصنف1

رقم الصنف2

رقم الصنف3

رقم الصنف4

.

.

.

#4

بسم الله الرحمن الرحيم

يا شباب أنا اللي موقفني عن تكملة البرنامج هو رقم الفاتورة

أنا عندي جدول للعملاء و جدول أخر للأصناف

بما أن العلاقة اللي بينهم many to many

فلابد من وجود جدول أخر أولا وهو جدول فواتير البيع

أنا أرفقت لكم الجداول و الشاشات

#5

بسم الله الرحمن الرحيم

يا شباب أنا اللي موقفني عن تكملة البرنامج هو رقم الفاتورة

أنا عندي جدول للعملاء و جدول أخر للأصناف

بما أن العلاقة اللي بينهم many to many

فلابد من وجود جدول أخر أولا وهو جدول فواتير البيع

أنا أرفقت لكم الجداول و الشاشات

thamer.zip

#6

اخى العزيز

سامحك الله الملف اللى موجود به فيروس ارجو اعاده ارفاق الملف بدون فيروس

وشكرا

#7

اخى العزيز يمكنك عمل sequence لرقم الفاتورة كالتالى

CREATE SEQUENCE INV_NUM
START WITH 1
INCREMENT BY 1
MINVALUE 0
NOCACHE 
NOCYCLE 
NOORDER

وفى الpre-insert على مستوى البلوك تعمل الجملة التالية

#8

اخى العزيز يمكنك عمل sequence لرقم الفاتورة كالتالى

CREATE SEQUENCE INV_NUM
START WITH 1
INCREMENT BY 1
MINVALUE 0
NOCACHE 
NOCYCLE 
NOORDER

وفى الpre-insert على مستوى البلوك تعمل الجملة التالية

SELECT INV_NUM.NEXTVAL

INTO VOICNUM

FROM DUAL;

[code]

وهكذا عند عمل فاتورة جديدة يتم انشاء رقم لها من خلال المتسلسل INV_NUM

هذا الموضوع مغلق.

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