SQL and PL/SQL
Oracle SQL and PL/SQL | Queries | DML & DDL statements | Functions | Procedures | Triggers and Packages
لغة الإستعلام SQL
5,154 موضوعات في هذا القسم
-
لو سمحتو اللي عندو شرح فيديو بالعربي للبي أل سكيوأل ؟ شكرا
-
السلام عليكم ورحمة الله وبركـآته .. انـآ عضوه جديده بهالمنتدى الكبير .. ولسى جديده بدراسة الـ SQL وحـآبة أعرف أكثر عن الـ-exception handling>> التعامل مع الأخطاء..!! يعني ليش تستخدم وكيف يتم تعريفهـآ في الـ SQL اتمنى القى تفاعل منكم بأسرع وقت ولكم كل الشكر مقدمـآ انتظركم ~
-
declare linecount number:=&n; v varchar2(20); n number:=0; begin for lineno in 1..linecount loop for sp in 1..linecount-lineno loop v:=v||'_'; end loop; n:=lineno; for st in 1..2*lineno-1 loop if st <lineno then v:=v||n; n:=n-1; else v:=v||n; n:=n+1; end if; end loop; dbms_output.put_line(v); v:=''; end loop; end ; /
-
انا عارف الدالة الي بتعمل ارقام عشوائية dbms_random.value بس ازاي احدد الصف المسترجع يعني لو عاوز ارجع الصف 5 فقط او الصف 20 بالنحديد انا عملت الكود ده بس منفعش بيقلي no data found declare next_row number; rec emp%rowtype; begin select trunc(dbms_random.value(1,14)) into next_row from dual; select * into rec from emp where rownum=next_row; dbms_output.put_line(rec.ename); end; ارجوااااااااا المساعدة
-
التمرين (1) عمل اختبار على تاريخ التعيين اذا كان تاريخ التوظيف غير تاريخ اليوم ياخذ الموظف زيادة في الراتب بمقدار 500 ريال واذا كان الموظف تم تعيينه اليوم فلا زيادة له ؟ الحل if heredate =systdate then sal:=sal+0 else sal:=sal+500 end if ; end; / التمرين(2) عدلي في رواتب المدراء لتصبح 10000 للجميع ؟ الحل declare i emp.job%type=10000; begin update emp set sal=i where job='maneger'; end; /
-
قمت بانشاء هذا الكيرسر كيف يمكنني ان اضعه داخل function وكيف يمكنني ان استعلم بالاضافة الى رقم الموظف استعلم عن تاريخ معين بحيث يكون كالتالي المدخل: رقم الموظف : 22 تاريخ : 200801 declare v_empnum emp_info.emp_num%type; v_sal emp_info.sal%type; v_hours emp_info.no_of_hours%type; cursor c is select emp_num ,sal,no_of_hours into v_empnum ,v_sal,v_hours from emp_info where emp_num=&emp_num ; begin open c; loop dbms_output.put_line(v_empnum || ' ' || v_sal || ' ' || v_hours); fetch c into v_empnum,v_sal,v_hours; exit when c%notfound; end loop; close c; end;
-
السلام عليكم عندي سؤال ؟ يوجد شاشة يتم تحديد فيها اجازة بين تاريخين وتحديد رقم العيادة حلو هذا سهل (اجازة الاطباء) بس يوجد شاشة اخر يتم فيها تحديد المواعيد للمريض بحيث اريد كود اذا ادخل تاريخ بين التاريخين ورقم العيادة نفس اجازة الطبيب تطلع رسالة تخبر الموظف بأن الطبيب في اجازة وشكرا
-
مرحبا عندي سؤال محيرني عندي جدول لبيانات الموظفين ومن ضمن هذه البيانات يوجد حقل لمجموع الاجازات المتوفرة لكل موظف اريد اضيف تريجر لهذا الجدول بحيث انه يعدل قيمة حقل مجموع الاجازات المتوفرة في 1/9 من كل سنة كيييييييييف اقدر اطبق هالفكرة ياريت حد يساعدني
-
مرحبا عندي سؤال محيرني عندي جدول لبيانات الموظفين ومن ضمن هذه البيانات يوجد حقل لمجموع الاجازات المتوفرة لكل موظف اريد اضيف تريجر لهذا الجدول بحيث انه يعدل قيمة حقل مجموع الاجازات المتوفرة في 1/9 من كل سنة كيييييييييف اقدر اطبق هالفكرة ياريت حد يساعدني
-
ما العمل في وجود اكثر من جملة select واريد عند وجود قيمة فارغة تخصيص 0 مثلا للمتغيير select EXPR2 into xx2 from RSD_AGAZAT where no1=:HARAK.no1 and no2=:HARAK.no2 ; انا اعرف طريق EXCEPTION WHEN NO_DATA_FOUND THEN :TABLE_1.n := 0; ولكن هذه الطريق تفيد لانها توضع في الاخر ولكني اريد اثنا التفيذ لان هناك اكثر من جملة select
-
ما نوعية البيانات (DATA TYPE) الخاصة بالحقل حتي اقوم بتسجيل الوقت ، وذلك حتي اقوم بتسجيل الوقت ساعة ودقيقة وثانية ، حتي استطيع عمل مقارنه بينهم
-
السلام عليكم ورحمه الله وبركاته اريد فكره عمل تريجر بحيث يعمل اتوماتيكيا في وقت محدد يوميا ويقوم بتحديث بعض البيانات في احد الجداول تلقائيا وجزاكم الله خيرا
-
عندما قمت بعمل هذا التريجر CREATE OR REPLACE TRIGGER server_error_trig AFTER SERVERERROR ON SCHEMA DECLARE v_code NUMBER; v_error_message VARCHAR2(100); BEGIN v_code :=SQLCODE; v_error_message := SQLERRM; INSERT INTO server_errors VALUES (USER,SYSDATE,v_code, v_error_message); END server_error_trig; / لقيت error بيقول ORA-30510: system triggers cannot be defined on the schema of SYS user مع العلم بان server_errors ده جدول يتم كتابة فيه user name, date, code ,error message السؤال هو لماذا لا يتم عمل trigger في sys schema جزاكم الله كل خير ------------------------------------------------------------------------- لا اله الا الله
-
السلام عليكم الكل منا يستخدم count(*) لارجاع عدد السجلات في الجدول ولكن هناك طريقة أسرع من المستخدمة وهي select count(1) from tab_name; أو select count(rowid) from tab_name تحياتي للجميع
-
السلام عليكم هذة الfunction يمكن ان تستخدم في تقاريرك أو الشاشات لارجاع الارقام باللغة الانجليزية CREATE OR REPLACE FUNCTION NUMTOCHAR (MNUM IN NUMBER) RETURN VARCHAR2 IS TCHAR VARCHAR2(16); MCHAR VARCHAR2(255); BEGIN TCHAR:=TO_CHAR(MNUM,'099999999999.99'); IF TO_NUMBER(SUBSTR(TCHAR,1,4)) <> 0 THEN MCHAR:=MCHAR||TO_CHAR(TO_DATE(TO_NUMBER(SUBSTR(TCHAR,1,4)),'J'),'JSP')|| ' BILLION '; END IF; IF TO_NUMBER(SUBSTR(TCHAR,5,3)) <> 0 THEN MCHAR:=MCHAR||TO_CHAR(TO_DATE(TO_NUMBER(SUBSTR(TCHAR,5,3)),'J'),'JSP')|| ' MILLION '; END IF; IF TO_NUMBER(SUBSTR(TCHAR,8,3)) <> 0 THEN MCHAR:=MCHAR||TO_CHAR(TO_DATE(TO_NUMBER(SUBSTR(TCHAR,8,3)),'J'),'JSP')|| ' THOUSAND …
-
السلام عليكم يمكنكم تجريب هذة ال query على user scott/tiger Select MAX(ROWNUM) From emp; is same as Select Count(*) From emp; الاختلاف الوحيد بينهما انه في حال عدم ارجاع بيانات فإن الاستلام الاول يرجع null أما الثاني فيرجع zerr0 أتمنى لكم التوفيق
-
اذا كان لدينا جدول يحتوي على ثلاثة حقول منها حقلين فية قيم متساوية والثالث مختلف كما هو موضح:- COL1 COL2 COL3 -------------------------------- 100 5320 محمد 100 5320 محسن 100 5320 علي كيف يمكن عمل SELECT تظهر لنا فقط سجل واحد من بين هذة السجلات مثلا تظهر لنا فقط السجل 100 5320 محمد ولكم جزيل الشكر
-
السلام عليكم ورحمة الله وبركاته : هذة طريقة لحذف التكرار بالسجلات في جدول معين 1- للاستعلام عن السجلات المتكررة ----------------------------------------------------------------- select (duplicate field names) from table_name group by (list out fields) having count(*)>1; --------------------------------------------------------------- 2- لحذف التكرار برمجيا delete from table a where rowid > ( select min(rowid) from table b where a.column1 = b.column2); -------------------------------------------------------------- طريقة أخرى : DELETE FROM table_name A WHERE A.rowid > ANY (SELECT B.rowid FROM table_name B WHERE A.col1 = B.col1 AND A.col2 = B.col2 A…
-
السلام عليكم وصباحكم سكر وقشطة واوراكل انا حاولت اسوي هالكود بس ماقدرت عليه صارلي يومين اسوي نفس الكتاب اللي عندي ومو قادرة اضبطه ممكن حد يساعدني فيه اذا تقدرون طبعا السؤال هو create procedure named prs_cus that will take the Invoce number as a parameter and update the custmer balance للعلم عندي جدولين ( customer ) + ( Invoice ) cus_balance Inv_num
-
لنفرض انه لدينا حقل في جدول وفيه ارقام مثال: 1 2 4 8 9 15 كيف انشى بروسيجر يخرج لي الاعداد الغير موجودة في هذا الحقل بحيث يخرج عند اكبر عدد يعني يعطي الناتج التالي: 3 5 6 7 10 11 12 13 14
-
السلام عليكم يا شباب هل يمكن عمل TRIGGER يمنع الحذف من جدول معين ؟ وجزاكم الله خير ....
-
السلام عليكم، أرجو المساعدة في هذه المسألة، أريد ان أستدعي شجرة عن طريق كويري، بحيث يكون البداية من المستوى الأول ولغاية مستوى أقوم انا بتحديده من خلال متغير، لقد جربت start with ]Column[ = _level، ويكون قيمة المتغير على سبيل المثال (3). ولكن النتيجة تعود ابتداء من هذا المستوى، وأنا أريد أن انتهي بهذا المستوى لا أن أبدأ به. Hitmac
-
ارجووووووووو المساعدة كيف يمكنيي ادخال نص superscript text or supscript text داخل قاعدة البيانات انا عندي عمود بالجدول unit وحدة القياس واريد ادخال وحدات القياس M2 M3 ارجووووووووووووكم ساعدوني
-
الاخوه الافاضل مشرفي المنتدى الكرام ارغب في شرح مفصل للامر create وذلك لعدم حصولي على شرح مفصل لهذا الامر ولكم جزيل الشكر ملحوظة:- المساعدة غير قاصرة على مشرفي المنتديات ولكن ارجو من باقي الاخوة الاعضاء ايضا مساعدتي في الامر
-
أخواني : أبغى الفيو تعمل التالي ترجع Pending_invoice لعميل معين في مثلا سنة 2008 و ترجع Pending_invoice لعميل معين في مثلا 2007 وهكذا حتى مثلا 2003 وماقبل هذه السنة : يرجع sum pending invoice كمجموع كامل ممكن نسميه : Before 2003 هل عشان أطلع pending invoice لكل سنة لازم أعمل function وماهو الكود الصحيح لكتابة function يعني أعمل function لكل سنة يآخذ current year ويستدعية تاني مرة ويآخذ current year -1 .current year -2 . .وهكذا ثم Function آخر يحسب مجموع pending invoice ماقبل أول 5 سنين س؟ هل ممكن ال function يرجع أكثر من Row أو لأ؟ ان شاء الله وضحت ......... أرجووووو الافادة