مشاركتي مع الاخ هادي كما وعدت توضيح الاكواد طبعاً بعد اذن الاخ هادي
select * from emp; -------------------- select * from dept; -------------------- SELECT * FROM SALGRADE; -----------------------
مشاركتي مع الاخ هادي كما وعدت توضيح الاكواد طبعاً بعد اذن الاخ هادي
select * from emp; -------------------- select * from dept; -------------------- SELECT * FROM SALGRADE; -----------------------
بسم الله الرحمن الرحيم
اولا اعتذر عن التاخير بسب وفاة احد الاقارب أسأل الله العلي القدير ان يرحمه ويسكنه فسيح جناته وجميع اموات المسلمين
اود ايضا ان اشكر الاخ الشاهين على مشاركة الجميلة وإن شاء الله يستمر في المشاركة
الان نبدا بقية الدروس والله الموفق
Select :
هذه الجملة من اهم الجمل والاكثر استخداما ومعناها اختيار شيء محدد من جدول محدد
ملاحظة
لكي تستفيد من عملك انصحك ان تقوم بحفظه كالتالي
اولا نعمل مستند مثلا على السي باي اسم ثم نقوم بالتالي مثال
Spool c:lessonsless1
ثم نبدا
وعند الانتهاء نكتب
Spool off
اولا جدول بيانات الموظفين يتكون من البيانات التالية
رقم الموظف وهو لايمكن تكراره
اسم الموظف
المهنة
رقم المسؤال عنه المباشر
تاريخ التعيين
الراتب
العلاوة على الراتب
رقم القسم الي يعمل فيه
مثال
نريد معرفة رقم الموظف واسمه وراتبه ؟
الحل
spool c:lessonsless1
Select empno,ename,sal
From emp;
Spool off
مثال
نريد معرفة رقم الموظف واسمه وتاريخ تعيينه وراتبه الشهري وراتبه السنوي ؟
الحل
Spool c:lessonsless1
Select empno,ename,hiredate,sal,sal*12
From emp;
Spool off
لاتنسى عند حدوث خطاء فقط اظغط
Ed
ثم اعمل التعديل
تطبيق؟
نريد معرفة رقم الموظف واسمه وتاريخ التعيين والراتب الشهري وراتبه خلال 10 سنوات والقسم الذي يعمل فيه؟
اتمنى للجميع التوفيق وشكرا
الاخ هادي .... جزالك الله خير على هذا المجهود ، وياليت تهتتم باقتراح الاخ " " بحيث يكون الدرس في ملف وورد ويدرج على شكل صفحة ويب ،أو ملف PDF،لكي نستفيد من الدروس في مذكرة مطبوعه أو الكترونية ، ممكن تستفيد من عرض الأخ " حمد المهندس " في دروس PL/SQL ، وتتابع ما لم يذكره في دروسه حتى نتجنب التكرار .
ولكم جزيل الشكر والتقدير .....
[ALIGN=RIGHT]
شكر لجميع الاخوان واقتراحاتكم على العين والراس
سوف نتحدث اليوم عن كيفة الاستعلام عن مكونات الجداول ونوع المتغيرات بها
لذلك سوف نستخدم الامر ديسك وهو اختصار الديسكربشين
DESC DESCRITION
وهنا امثلة مختصرة
SQL> desc emp Name Null? Type ------------------------------- -------- ---- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) MGR NUMBER(4) HIREDATE DATE SQL> desc tab Name Null? Type ------------------------------- -------- ---- TNAME NOT NULL VARCHAR2(30) TABTYPE VARCHAR2(7) CLUSTERID NUMBER
[ALIGN=RIGHT]ربما ان جميع المتغيرات واضحة للجميع باستثناء الفارتشار2 لذك سوف نطرح سؤال كالتالي
ماهو الفرق بين CHAR & VARCHAR2 ؟
الفار تشار 2 يسمى المتغير المطاطي أي لو حجزنا 10 خانات وكان الاسم يتكون من 6 خانات فانه سوف يقصر الى 6 خانات تلقائيا بعكس الشار الي سوف يحجز جميع الخانات حتى ولو لم تستعمل.
تطبيق نريد معرفة مكونات جدول الاقسام؟
CODE:
بسم الله الرحمن الرحيم
سوف نقوم بحل بعض الامثلة
لاحظ المثال الاول بعرض جميع الجداول الموجودة والداتا تايب حقها
SQL> SELECT * FROM TAB; TNAME TABTYPE CLUSTERID ------------------------------ ------- --------- BONUS TABLE DEPT TABLE EMP TABLE HADI TABLE SALGRADE TABLE SAM_STUD TABLE
SQL> DESC EMP Name Null? Type ------------------------------- -------- ---- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2)
SQL> DESC DEPT Name Null? Type ------------------------------- -------- ---- DEPTNO NOT NULL NUMBER(2) DNAME VARCHAR2(14) LOC VARCHAR2(13)
SQL> DESC SALGRADE Name Null? Type ------------------------------- -------- ---- GRADE NUMBER LOSAL NUMBER HISAL NUMBER
SQL> DESC BONUS Name Null? Type ------------------------------- -------- ---- ENAME VARCHAR2(10) JOB VARCHAR2(9) SAL NUMBER COMM NUMBER
لو سمحتم ظهرت لي هذه المشلة في الـ SQL ما العمل.........؟
وهي على شكل رسالى قبل بدء البرنامج وزر واد فقط هو "OK" ويخرج من البرنامج قبل البدء
نص الرسالة
Massage file SP1 .msd not found .
هل الزام علي ان انزل البرنامج من البداية ام ابحث عن هذا الملف فقط .......
بسم الله الرحمن الرحيم
اليوم باذن الله سوف ناخذ درس مهم
الدرس :-
في هذا الدرس سوف نتعلم طريقة تغير اسماء الاعمدة باسماء مرغوبة
وهي تعتبر عملية بسيطة وهنا سوف نطبق على بعض الامثلة
الطريقة الاولى استخدام علامة التنصيص الدبل كالتالي:-
SQL> select ename "الاسم" ,sal"الراتب" 2 from emp; الاسم الراتب ---------- --------- SMITH 800 ALLEN 1600 WARD 1250 JONES 2975 MARTIN 1250 BLAKE 2850 CLARK 2450 SCOTT 3000 KING 5000 TURNER 1500 ADAMS 1100 JAMES 950 FORD 3000 MILLER 1300 14 rows selected.
الطريقة الثانية بترك مسافة كالتالي:- SQL> select ename alesm , sal alrateb 2 from emp; ALESM ALRATEB ---------- --------- SMITH 800 ALLEN 1600 WARD 1250 JONES 2975 MARTIN 1250 BLAKE 2850 CLARK 2450 SCOTT 3000 KING 5000 TURNER 1500 ADAMS 1100 JAMES 950 FORD 3000 MILLER 1300 14 rows selected.
ونتبع هنا بدرس اخر مهم ويكاد لايخلوا اي اختبار ocp منه
والدرس هو عملية تخزين ناتج معين ثم استعادته
الشرح:-
اولا نفترض انه قمنا بعمل مجلد في الدي يحمل الاسم التالي:-
d:oraclehadinewsave
لاحظ فعملية الحفظ كالتالي
SQL> save d:oraclehadinewsave
انظر الى المثال التالي:-
SQL> select ename,sal,comm 2 from emp; ENAME SAL COMM ---------- --------- --------- SMITH 800 ALLEN 1600 300 WARD 1250 500 JONES 2975 MARTIN 1250 1400 BLAKE 2850 CLARK 2450 SCOTT 3000 KING 5000 TURNER 1500 0 ADAMS 1100 JAMES 950 FORD 3000 MILLER 1300 14 rows selected. SQL> save d:oraclehadinewsave Created file d:oraclehadinewsave
اما عملية الاسترجاع فتكون باحد الامرين:-
SQL> @ d:oraclehadinewsave SQL> start d:oraclehadinewsave
والان نقوم باسترجاع ماسبق وان حفظناه كالتالي:-
SQL> start d:oraclehadinewsave ENAME SAL COMM ---------- --------- --------- SMITH 800 ALLEN 1600 300 WARD 1250 500 JONES 2975 MARTIN 1250 1400 BLAKE 2850 CLARK 2450 SCOTT 3000 KING 5000 TURNER 1500 0 ADAMS 1100 JAMES 950 FORD 3000 MILLER 1300 14 rows selected.
مع تمنياتي لكم بالتوفيق والنجاح
والله ولي التوفيق
ياشباب فينكم
فين ردودكم عسى المانع خير
اذا كانت الدروس مش مفيده خلاص خلونا نبطل ونترك الفرصة لغيرنا
ويعطيكم العافية
هل المقصود باسترجاع البيانات هي إعادة أدخالها إلى القاعدة بعد حذفها ؟
أم هي عملية استعلام عن البيانات؟
الاخ غاوي برمجه
عملية الاسترجاع الي ذكرتها تقوم بتنفيذ الاستعلام مرة اخرى بس من
المكان الي خزنت الاستعلام فيه وليس من قاعدة البيانات
وهو مش ادخال او حذف بيانات جديدة من الداتا بيز
السلام عليكم
اخي هادي الشمراني
شكرا جزيلا علي ماقدمته وماتقدمه .. وارجوا منك الاستمرار وعدم الملل
وانتظار الردود .
شكرا مره اخري جزاك الله خيرا .
عمر باعقيل
كندا - مونتريال
الصراحة ان دروسك مفيده,وخصوصا للمبتدئين.
ولكن هي بطيئه جدا....حسب ما أرى انا شخصيا.....
على العموم ....انت لك وجهة نظرك الخاصه.....
ولكن اريد ان اسال .....هل ستشرح PL/SQLفي دروسك ام لا.....:):)
بسم الله
اولا شكرا خاص للاخ عمر باعقيل واتمنى لك دوام التوفيق
ثانيا الاخ امير
سوف اقوم بشرح كل صغيرة وكبيرة من الالف الى الياء
ومن ضمنها pl/sql
بالنسبة لتاخير الدروس فاعتقد انه لازم نتعمق شويء
في التفصيل
وبصراحة انا احب اشرح بالتفصيل الممل وانا عارف انه في تاخير
ولكن كله علشان نمشيء سوىمن البداية الى النهاية
شاكر لكم جميعا مشاركاتكم ولاتحرمونا منها
واتمنى لكم دوام التوفيق والنجاح
بسم الله الرحمن الرحيم
اليوم باذن الله سوف نواصل الدروس
اولا نذكر بعملية تغير اسماء الاعمدة باسماء مرغوبة وتدعى هذه العملية ALIASE
وتتم كالتالي
1/ بترك مسافة
2/ عمل DOUBLE QUOTATION MARK
3/ استخدام AS
امثلة
1) SELECT SAL RATEP FROM EMP; 2) SELECT SAL "RATEP" FROM EMP; 3) SELECT SAL AS RATEP FROM EMP;
ثانيا: القيمة NULL ( القيمة الخالية)
NULL هي قيمة ولكنها قيمة خالية فهي لاتساوي الصفر ولاتعتبر فراغ
ويجب عليك ان تعرف شيء مهم عنها وهو ان أي عملية حسابية مع NULL
(+,/,*,-) فالناتج هو NULL
وهنا مثال
اولا لاحظ ظهور القيمة NULL
SQL> SELECT EMPNO,ENAME,COMM
2 FROM EMP;
EMPNO ENAME COMM
--------- ---------- ---------
7369 SMITH
7499 ALLEN 300
7521 WARD 500
7566 JONES
7654 MARTIN 1400
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7844 TURNER 0
7876 ADAMS
7900 JAMES
7902 FORD
7934 MILLER
14 rows selected.ثم لاحظ قيمة NULL بعد اجراء عملية حسابية
SQL> SELECT EMPNO,ENAME,(COMM +300)
2 FROM EMP;
EMPNO ENAME (COMM+300)
--------- ---------- ----------
7369 SMITH
7499 ALLEN 600
7521 WARD 800
7566 JONES
7654 MARTIN 1700
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7844 TURNER 300
7876 ADAMS
7900 JAMES
7902 FORD
7934 MILLER
14 rows selected.لاحظ انه لم يحدث تغيير لقيمة COMM
حتى بعد اجراء العملية الحسابية لقيمة NULL
اما القيم الاخرى فقد حدث التغيير
السلام عليكم ورحمه الله وبركاته
ممكن انضم الي كورس الاوركل
ارجو الموافقه :)
علي العلم انا دارس لحد forms2
ولكن احب انا استفيد واتتطلع الي معلومات اكثر مما لدي
وشكرا وارجو الرد عليا بالموافقه
اخي هادي الشمراني
يعطيك الف عافية وعندي اسألة لكنك لم تتطرق لدروسها بعد وافضل طرحها بعد ان تطرح انت الدرس .
مرة اخرى الله يعطيك العافية ......
بسم الله الرحمن الرحيم
وقبل ان ابدا بدرس اليوم لاانسا اخواننا المجاهدين في العراق بالمشاركة
معهم في جهادهم بالدعاء لهم بان ينصرهم الله على الطغاة الكفرة المجرمين
الله انصر المسلمين والمجاهدين
الله انصر المسلمين والمجاهدين
الله انصر المسلمين والمجاهدين
اود ان اشير قبل ان ابدا الى جميع الاخوان بان من لديه اي مشاركة بان يتفضل ويشارك معنا وسوف اكون سعيدا جدا مع خالص الشكر على ردودكم ومشاركاتكم الجميلة وإن شاء الله تكون الدروس مفيده
الدرس الاول:
بالنسبة لدرس اليوم فهو عبارة عن ربط الاعمدة والسلاسل الحرفية
من عمودين مختلفين سوف نستخدم (||) للربط
مثال
select ename ||' salary is'|| sal from emp;
مثال اخر
select ename||'name and'||sal "name and salry" from emp ;
وهنا اخر
select ename||'his job is'||job from emp;
الدرس الثاني
وهنا سوف نعرف كيفية عمل استعلام مشروط وهي عملية سهلة جدا
وسوف نستخدم لعمل شرط في الاستعلام كلمة where
وهنا امثلة
select ename ,sal ,job from emp where sal>1000;
سوف يقوم بعرض الاسم والراتب والمهنة للموظف الذي ينطبق عليه الشرط
وهو ان يكون راتبه اكبر من 1000
وهنا اخر
SQL> SELECT ENAME ,SAL ,COMM 2 FROM EMP 3 WHERE COMM >SAL; ENAME SAL COMM ---------- --------- --------- MARTIN 1250 1400
وهنا اخر
SQL> SELECT ENAME 2 FROM EMP 3 WHERE COMM IS NULL; ENAME ---------- SMITH JONES BLAKE CLARK SCOTT KING ADAMS JAMES FORD MILLER 10 rows selected.
والله الموفق
الله انصر المسلمين والمجاهدين
الله انصر المسلمين والمجاهدين
الله انصر المسلمين والمجاهدين
---------------------------------------------------------------------------------
آمين ..
جزاكم الله خير ,,
أخي : ولو أن سؤالي خارج الموضوع قليلا ، كيف لي أن أعرض بيانات حقل معين مقسم إلى عدة أقسام مع ملاحظة تساوي عدد الخانات في كل مجموعة ......... أي :
(عن عمر بن الخطاب رضي)----->>>> 20 حرفا
(الله عنه قال:سمعـــت)----->>>> 20 حرفا
و هكذا بباقي الحديث ............................................
أرجو أن يكون السؤال مفهوم ؟
أولا أود أن أشكرك كثيرا علي هذه الدروس المفيده ...
وأود أن أعرف .... هل يمكن ان يتم التطبيق على جميع إصدارات الـ sql ... وما هي الفروقات بين الإصدارات المختلفة؟؟
وما هو أنسب إصدار مع Windows XP ؟
ونحن في إنتظار بقية الدروس....
بسم الله الرحمن الرحيم
الاخوان الاعزاء غاوي برمجة و ريمو
السلام عليكم ورحمة الله وبركاته
اود ان اشكركم على مشاركاتكم الطيبة
بالنسبة لسؤالك اخ غاوي ماادري بالظبط اش تقصد تحديدا
ولو اني مكرس كل جهدي هالايام على sql ولكن باذن الله سوف
اجتهد فيه على شانك
بالنسبة للاخ ريم اصدار xp الي اعرفه انه 9i
و صراحه انا ماجربته ولكن اعتقد انه يمكن تطبيق الدروس الحاليه
عليه والله اعلم
لاتنسوا نصرة اخواننا المجاهدين في كل مكان
ومنهم العراق وفلسطين وافغانستان شاركوهم
الجهاد بالدعاء لهم بان ينصرهم الله واكثروا منه
واكثروا من قول حسبي الله ونعم الوكيل
الهم انصرهم اللهم انصرهم اللهم انصرهم
والسلام عليكم
الأخ هادي، ربنا يعينك ويثبت أجرك،
يا شباب، أرجو عدم التذمر، خطوات الأخ هاني صحيحة 100%، وأرجو عدم الاستعجال، وهي صفة فينا تضيع علينا الكثير، فالبناء عندما يوضع بتأني، سيكون متين ان شاء الله، أما بخصوص الأخ/الأخت ريمو، فال XP يمكن تنزيل كل الاصدارات التي يمكن ان تنزل في ال NT وال 2000.
بالنسبة لي سأتابع ولن اتدخل إن شاء الله إلا للرد على اسئلة كهذه
موفقين ان شاء الله، وأدعوا كما قال الاخ هاني، ولكن عليكم ان تدعو له هو ايضاً
الأخ هاني، ربنا يعينك ويثبت أجرك،
يا شباب، أرجو عدم التذمر، خطوات الأخ هاني صحيحة 100%، وأرجو عدم الاستعجال، وهي صفة فينا تضيع علينا الكثير، فالبناء عندما يوضع بتأني، سيكون متين ان شاء الله، أما بخصوص الأخ/الأخت ريمو، فال XP يمكن تنزيل كل الاصدارات التي يمكن ان تنزل في ال NT وال 2000.
بالنسبة لي سأتابع ولن اتدخل إن شاء الله إلا للرد على اسئلة كهذه
موفقين ان شاء الله، وأدعوا كما قال الاخ هاني، ولكن عليكم ان تدعو له هو ايضاً
انا أعمل علي اوراكل ولكن القديم بنظام الحروف وليس الجرافيك
ولهذا سوف انتظم معك ان شاء الله وربنا يوفقنا جميعا
وشكرا لك مقدما علي مجهودك وجزاك الله خيرا عنا جميعا
أشـــرف
وانا إن شاء الله معاكم تلميذ جديد خاصة وان مشرع تخرجي ناوي اعمله بأوراكل فالله الله يا استاذ هادي بمساعدتي في المشاكل اللي راح تواجهني مع العلم اني درست sql و pl/sql لكن devloper معتمد على اللع ثم على معلوماتك ودروسك الطيبة
والله يوفقك دنيا واخرة