الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

لدي Cost و Sale وعاوز اوجد الارباح

Featured Replies

بتاريخ:

السلام عليكم

اخواني لدي جدول يتضمن حقل cost وحقل sale وحقل profit وعاوز كود يطرح الكلفة من سعر البيع ويوجد الربح ويخزنه في حقل profit



create table sale(
      cost number(15),
      sale number (15),
      profit number(15));



ويتم ذلك ليس من خلال الفورم انما من خلال sqlplsql

بتاريخ:
  • كاتب الموضوع

السلام عليكم

اخواني لدي جدول يتضمن حقل cost وحقل sale وحقل profit وعاوز كود يطرح الكلفة من سعر البيع ويوجد الربح ويخزنه في حقل profit



create table sale(
      cost number(15),
      sale number (15),
      profit number(15));



ويتم ذلك ليس من خلال الفورم انما من خلال sqlplsql

بتاريخ:
  • كاتب الموضوع


السلام عليكم

اخواني لدي جدول يتضمن حقل cost وحقل sale وحقل profit وعاوز كود يطرح الكلفة من سعر البيع ويوجد الربح ويخزنه في حقل profit



create table sale(
      cost number(15),
      sale number (15),
      profit number(15));



ويتم ذلك ليس من خلال الفورم انما من خلال sqlplsql
لأن الجدول يحتوي على بيانات الكلفة والسعر والان نحتاج ان نوجد الارباح

تم تعديل بواسطة chairman

بتاريخ:
  • كاتب الموضوع

اخي احمد بارك الله فيك

انا لا اريد ايجاد الربح لحظة ادخال البيانات ، وذلك لكون البيانات مدخلة

ياريت حضرتك وباقي الاعضاء الافاضل يفيدونا


ممكن الاطلاع على المرفقات

New WinRAR أرشيف.RAR

بتاريخ:

السلام عليكم
لم افهم ما تريدة بالتحديد..
حتى وان كانت البيانات مخزنة فان الجملة السابقة ستعطيك ناتج الربح...
لانه يتم جمع التكلفة وجمع اسعار البيع ومن ثم يتم طرحهم لكي ينتج الربح...
ام انك تقصد انك تريد ايجاد الربح لكل ريكورد وفي النهاية تريد جمع ناتج الربح ؟؟

بتاريخ:
  • كاتب الموضوع

اخي الحبيب احمد

انا اريد الربح لكل ريكورد فقط (على مستوى الريكورد) ولا اريد الربح الكلي في النهاية



حيث ان الجدول الذي لدي يحتوي بيانات كثيرة تخص الكلف واسعار المبيعات ، ولكن كيف ممكن انفذ ايعاز واحد في plsql يوجد الارباح ، اي ان عملية حساب الربح تنفذ ليس في وقت ادخال البيانات انما البيانات مدخلة ، اعتقد انه بهذه الحالة نحتاج loop ياخذ قيمة الكلفة والسعر من الركورد الاول ويوجد الربح ويخزنه كمان في الريكورد الاول وهكذا بالنسبة للريكورد الثاني الى ان نصل نهاية الجدول

(حيث اني لا اريد التنفيذ في الفورم انما في محرر sql
بارك الله فيك

تم تعديل بواسطة chairman

بتاريخ:

لو على مستوى الريكود هيبقى كدا
Select Nvl(Cost, 0) * Nvl(Sale, 0) Profite
From Sale
ل على مستوى التيبل كلة هتعمل الطريقة دى
Select Sum(Nvl(Cost, 0)) - Sum(Nvl(Sale, 0)) Profite
From Sale
لو عاوز بقة ادق اعمل عمود من النوع ديت اوك وفى جملة اختار الديت الى انت عاوزة كدا

Select Sum(Nvl(Cost, 0)) - Sum(Nvl(Sale, 0)) Profite
From Sale
where profite_date betwen :from_date and :to_date
------
:from_date parameter for from date
:to_date m parameter fro to date
ودة البرمتر هدخل فية التواريخ الى ان عاوز تجيب فيها الارباح دى ادق

ولو عوزت اى حاجة انا فى الخدمة وشكرا

بتاريخ:
  • كاتب الموضوع

اخي الحبيب a.tofy

بارك الله فيك وببقية الاخوة

انا جربت الكودين وحصلت على تنفيذ ناجح

بس لو تسمحلي حضرتك ، ولو ممكن تساعدني في ايجاد الربح على مستوى الريكود يعني (الكود الاول) ، بس النتيجة يتم تخزينها في حقل profit ضمن نفس الجدول ، لكي ممكن اعرف منها ان المنتج الاول يتم من خلاله ربح كذا والمنتج الثاني يتم من خلاله ربح كذا وهكذا.

انا محتاج اعملها جدا ، بارك الله في الجميع

بتاريخ:

السلام عليكم

Declare
Cursor C Is
Select Nvl(Cost   , 0), 
       Nvl(Sale   , 0), 
       Nvl(Profite, 0)
  From Sales;
Begin
For Rec In C Loop
 Rec.Profite := Nvl(Rec.Cost, 0) - Nvl(Rec.Sale, 0);
 Commit;
End Loop;	
End;

بتاريخ:
  • كاتب الموضوع

اخي العزيز بارك الله فيك على الكود

لكني حاولت تنفيذه لكنه لم يتنفذ معي


  1   Declare
 2           Cursor C Is
 3           Select Nvl(Cost   , 0),
 4                  Nvl(Sale   , 0),
 5                  Nvl(Profit, 0)
 6             From Sale;
 7   Begin
 8           For Rec In C Loop
 9            Rec.Profit := Nvl(Rec.Cost, 0) - Nvl(Rec.Sale, 0);
10            Commit;
11           End Loop;
12*  End;
SQL> /
         Rec.Profit := Nvl(Rec.Cost, 0) - Nvl(Rec.Sale, 0);
             *
ERROR at line 9:
ORA-06550: line 9, column 15:
PLS-00302: component 'PROFIT' must be declared
ORA-06550: line 9, column 11:
PL/SQL: Statement ignored



حاولت كثيرا ان اعرف وين المشكلة ، لكني لم افلح

ياريت اتفيدني

لأني جدا محتاج هذا الكود

بتاريخ:
  • كاتب الموضوع

اخي العزيز بارك الله فيك على الكود

لكني حاولت تنفيذه لكنه لم يتنفذ معي


  1   Declare
 2           Cursor C Is
 3           Select Nvl(Cost   , 0),
 4                  Nvl(Sale   , 0),
 5                  Nvl(Profit, 0)
 6             From Sale;
 7   Begin
 8           For Rec In C Loop
 9            Rec.Profit := Nvl(Rec.Cost, 0) - Nvl(Rec.Sale, 0);
10            Commit;
11           End Loop;
12*  End;
SQL> /
         Rec.Profit := Nvl(Rec.Cost, 0) - Nvl(Rec.Sale, 0);
             *
ERROR at line 9:
ORA-06550: line 9, column 15:
PLS-00302: component 'PROFIT' must be declared
ORA-06550: line 9, column 11:
PL/SQL: Statement ignored



حاولت كثيرا ان اعرف وين المشكلة ، لكني لم افلح

ياريت اتفيدني

لأني جدا محتاج هذا الكود

بتاريخ:

السلام عليكم
هذا الكود سيعمل معك ان شاءالله..

Declare        
Cursor C Is        
Select Nvl(Cost   , 0) Cost,                
      Nvl(Sale   , 0) Sale,                
      Nvl(Profit, 0) Profit         
 From Sale;
Begin  
For Rec In C Loop         
Update Sale
    Set Profit = Nvl(Cost, 0) - Nvl(Sale, 0);                  
Commit;
End Loop;       
End;



موفق

بتاريخ:
  • كاتب الموضوع

ربي يوفقك يا غالي

نفذت الايعاز وتنفذ على اكمل وجه


بارك الله فيك وكثر من امثالك ، وسهل امرك دنيا واخرة


وكذلك بارك الله في كل من ساهم في الرد على طلبي وفي كل اعضاء المنتدى

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.