الانتقال إلى المحتوى
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.

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

Featured Replies

بتاريخ:

هناك 3 جدوال شكلهم كده

CAST_ID &CAST_NAME

1 RANA
2 CC
3 GG

SUP_ID &SUP_NAME
1 SEAF
2 CCC
3 VVV
4 DD

SUP_ID &CAST_ID
1 2
2 1
1 1

هنا SUP_ID و CAST_ID بريمر كاى مركب


مطلوب جمله سيلكت ترجع SUP_ID اللى اشتغل مع CAST_ID....او SUP_ID اللى اشترك مع CAST_ID

السوال التانى

2- عايز اكتب بروستزر على مستوى قاعده البيانات ياخد اسم الجدول و اسم الحقل يرجع مجموع الحقل SUM
و جزكم الله الف خير ..

بتاريخ:

 select sup_name from supplier
where sup_id in (select sup_id from sup_cust)



create or replace function summ(p_table varchar2,p_col varchar2) return number
is
statment varvhar2(200);
res number;
begin
statment:='select sum('||p_col||')from'||p_table;
execute immediate statment into res;
return res;
end; 

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

الاخ الكريم ..
شكرا على تفاعلك معى ..
و لكن لاسف احلين مش مظبوطين ...
1-

مطلوب جمله سيلكت ترجع SUP_ID اللى اشتغل مع CAST_ID....او SUP_ID اللى اشترك مع CAST_ID

انا اسفه موضحتش اوى فى السوال بيشترط كل ...يعنى هو SUP_ID
اللى اشتغل مع كل CAST_ID يعنى لازم يكون مشترك مع كل CAST_ID

السوال التانى ..انا فكرت زى حضرتك ..و حاولات انفذ طلع ايرور ...
ممكمن تجرب كود اللى حضرتك كتبه مش هيشتغل ...
بتاريخ:
نا اسفه موضحتش اوى فى السوال


ياريت يتم وضع الاسكربت وايضا السؤال لسه مش واضح اوي

السؤال اثاني

كما قال اخي الكريم

لكن هناك خطأ بسيط غير مقصود في datatype مع بعض المسافات
create or replace function summ(p_table char,p_col char) return number
is
statment varchar2(200);
res number;
begin
statment:='select sum('||p_col||')from'||' '||p_table;
execute immediate statment into res;
return res;
end;

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

السلام عليكم ...
الف شكر على تعاونك معى يا اخى الكريم .
انا عارفه انى المشكله فى المسافات وخد كود الاخ الكريم asd202وعدلته .وجربت مشتغلاش بعض كده رفعت ردى المشكله مش فى سنتيكس انا حد جربت كود حضرتك بعض التعديل و طلع نفس الايرور اللى كان بيطلع معى لما انا جربت لوحدى و نفس الايرور لما جربت كود الاخ asd202 وجربت الكود حضرتك نفس الايرور
على العموم حضرتك ممكن تجرب عندك تنادى على البروستر هيطلع مع حضرتك مشكله ...
انا نديتها كده

declare
x number(20);
begin 
x:= summ('employees','emp_id') ;
end;


.
انا افتكر ان المشكله ان execute immediate بتستخدم فى كتابه ddl فقط دخال كود pl ..
اما السوال التانى انا مش عندى اسكربت السوال زاى ظهر زاى ماشرحت انا .
هناك 3 جدوال شكلهم كده

CAST_ID &CAST_NAME

1 RANA
2 CC
3 GG

SUP_ID &SUP_NAME
1 SEAF
2 CCC
3 VVV
4 DD

SUP_ID &CAST_ID
1 2
2 1
1 1

هنا SUP_ID و CAST_ID بريمر كاى مركب
فى الجدول الاخير هتلاقى ان ممكن SUP_ID ممكن يتكرر مع اكتر منCAST_ID ..
المطلوب بقى SUP_ID اللى تكرر مع كل CAST_ID...
يارب اكون اقدرت اوصل الفكره ..
وجزكم الف خير ..

بتاريخ:


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

فرضا ان الجدول الاول اسمه cust
الثاني supp
والثالث cust_supp

ان شاء الله الكويري يكون كده

select cust_supp


.cust_id ,cust.name from cust_supp

,cust

where cust_supp

.cust_id=cust.id

group by cust_id ,cust.name

having count(*) =(select count(*) from supp)




function صحيحة



موفقة

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

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

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

بتاريخ:

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



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

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

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

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

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

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

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.