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

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

صورة
- - - - -

سؤال علي قاعدة بيانات مخزن


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

#1 pepo4d

pepo4d

    مشترك

  • الأعضــاء
  • 64 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 15 April 2012 - 03:44 PM

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


1- عندي جدول مبيعات يومية بيتم فيه عمليات البيع اليومية.
2- وجدول مبيعات شهرية تتم فيه عمليات البيع الشهرية.

اولاً: أريد تريجر يفير كل يوم واحد في الشهر ويقوم بجمع عمليات البيع اليومية ويقوم بعمل إنسرت في جدول المبيعات الشهرية بقيمة الجمع.
ثانيا: أريد بروسيدير او فانكشن تقوم بضرب عمودين ووصع قيمة الضرب في العمود الثالث مع كل عملية إنسرت في الجدول.

الجدولين في الملحقات



وجزاكم الله خيراً,,




[right]جدول المبيعات اليومية[/right]
[right]___________[/right]

CREATE TABLE BUYS_DAYLE
(
  B_ID NUMBER NOT NULL
, T_NAME VARCHAR2(50 BYTE)
, T_COST NUMBER
, T_QANTITY NUMBER
, T_DISCOUNT NUMBER
, T_TOTAL NUMBER
, C_NAME VARCHAR2(50 BYTE)
, B_DATE DATE
, EMP_NAME VARCHAR2(20 BYTE)
, CONSTRAINT BUYS1_PK PRIMARY KEY
  (
	B_ID
  )
  USING INDEX
  (
	  CREATE UNIQUE INDEX BUYS_PK1 ON BUYS_DAYLE (B_ID ASC)
	  LOGGING
	  TABLESPACE "USERS"
	  PCTFREE 10
	  INITRANS 2
	  STORAGE
	  (
		INITIAL 65536
		MINEXTENTS 1
		MAXEXTENTS UNLIMITED
		BUFFER_POOL DEFAULT
	  )
  )
  ENABLE
)
LOGGING
TABLESPACE "USERS"
PCTFREE 10
INITRANS 1
STORAGE
(
  INITIAL 65536
  MINEXTENTS 1
  MAXEXTENTS UNLIMITED
  BUFFER_POOL DEFAULT
);




جدول المبيعات الشهرية
___________

CREATE TABLE B_MONTHES
(
  MONTH_ID NUMBER NOT NULL
, M_DATE DATE
, M_SALES DATE
)
LOGGING
TABLESPACE "USERS"
PCTFREE 10
INITRANS 1
STORAGE
(
  INITIAL 65536
  MINEXTENTS 1
  MAXEXTENTS UNLIMITED
  BUFFER_POOL DEFAULT
);


#2 Amgad

Amgad

    مشرف عام ومشرف قسم تحليل النظم

  • الفريق الإداري
  • 4,558 مشاركة
  • الاسم الأول:امجد
  • اسم العائلة:حلمي
  • البـلـد: Country Flag
  • المنصب الحالي:Business Systems Analyst at al Fanar Co. Riyadh KSA

تاريخ المشاركة 16 April 2012 - 03:21 AM

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

أريد بروسيدير او فانكشن تقوم بضرب عمودين ووصع قيمة الضرب في العمود الثالث مع كل عملية إنسرت في الجدول.


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

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

- ايضا لا اعتقد انه من الأفضل الإحتفاظ ببيانات المبيعات الشهرية فى جدول مستقل ... الا اذا كان هناك حجم بيانات ضخم وتوجد عمليات حسابية مركبة

هذا مجرد اقتراح ويكون حسب متطلبات العمل بالنظام

يمكنك البحث بالمنتدى ... ستجد اجابات كثيرة مشابهة عن سؤالك

لا إله إلا الله الحليم الكريم
لا اله إلا الله العلى العظيم
لا اله إلا الله رب السماوات السبع و رب العرش العظيم
‏اللهم ارزقني قبل الموت توبة وعند الموت شهادة وبعد الموت جنة
اللهم ارزقني حسن الخاتمة
اللهم هون علينا سكرات الموت ... ونور علينا قبورنا
اللهم ارزقني الموت وأنا ساجد لك يا ارحم الراحمين
اللهم ثبتني عند سؤال الملكين
اللهم اجعل قبري روضة من رياض الجنة ولا تجعله حفرة من حفر النار
اللهم اني اعوذ بك من فتن الدنيا
اللهم ارحم ابائنا وامهاتنا واغفر لهما وتجاوز عن سيئاتهما وادخلهم فسيح جناتك ... والحقنا بهما يا رب العالمين
اللهم ارحم موتانا وموتى المسلمين واشفي مرضانا ومرضى المسلمين
اللهم اغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الأحياء منهم والأموات
وبارك اللهم على سيدنا محمد صلى الله عليه وسلم
اللهم آمين ... اللهم آمين ... اللهم آمين


....