بتاريخ: 8 مارس 200817 سنة comment_124151 السلام عليكم ماذا تعرفوا عن ال view ؟- هل هى تعمل كرابط بين الجداول- هل هى يمكن ان تنشأ على اساس انها قراءة فقط .- هل يمكن كتابة order by فى ال select , شكراا تقديم بلاغ
بتاريخ: 8 مارس 200817 سنة comment_124153 A view is a stored query that allows you to access multiple tables and columns. You may then querythe view as you would a table. ال View هو أستعلام مخزن يسمح لك بالدخول على بيانات جدول معين او أكثر من جدول فى وقت واحد و يمكن الاستعلام فى ال View كطريقة أستعلامك تماماً فى ال Table . Create view Hany as select * from employees where department_id = 20; ال Syntax الخاص بال View كالتالى :- CREATE [OR REPLACE] VIEW [{FORCE | NOFORCE}] VIEW view_name [(alias_name[, alias_name ...])] AS subquery [WITH {CHECK OPTION | READ ONLY} CONSTRAINT constraint_name]; لو فى اى استفسار تانى ابقى قول ...... و شكراً تقديم بلاغ
بتاريخ: 8 مارس 200817 سنة كاتب الموضوع comment_124157 شكرا اخى هانى على المشاركة ..و اريد انا اعرف التعلق على امكانيه ان يكون قراءة فقط و الجزء الخاص بال order by حيث اننى مخلتف فى الاجابات التى اعرفها فى الامتحان الخاص بال sqlوشكرا تقديم بلاغ
بتاريخ: 8 مارس 200817 سنة comment_124169 الفكرة بتاعة ال View أساساً انك بتتعامل من خلاله بجدول كبير او مجموعة جداول كتيرة فى وقت واحد و بطريقة سهلة .فانت بعد ما بتعمل ال view ممكن تعمل ليه insert .... فأذا كانت قيم اللى موجوده فى ال insertمتوافقة مع بناء ال view الذى قمت بعمله ، اذن ستبقى هذه البيانات الجديدة بال view و الجدول اما اذاكانت غير متوافقة مع ال view فستذهب للجدول ...... و ميزة قيد ال with read only انه بيمنع كل اوامر ال DMLسواء ال insert , delete , update ...... و المثال التالى سيوضح ما اشارت اليه :- SQL> Create view Hany as select * from employees where department_id = 20; View created. ----------------------------------------------------- 1 insert into hany ( 2 EMPLOYEE_ID,LAST_NAME,EMAIL,HIRE_DATE,JOB_ID) values ( 3* 999, 'asd' ,'asda',sysdate,'MK_REP') SQL> / 1 row created. ----------------------------------------------------- SQL> select * from hany; EMPLOYEE_ID FIRST_NAME LAST_NAME ----------- -------------------- ------------------------- EMAIL PHONE_NUMBER HIRE_DATE JOB_ID SALARY ------------------------- -------------------- --------- ---------- ---------- COMMISSION_PCT MANAGER_ID DEPARTMENT_ID -------------- ---------- ------------- 201 Michael Hartstein MHARTSTE 515.123.5555 17-FEB-96 MK_MAN 13000 100 20 202 Pat Fay PFAY 603.123.6666 17-AUG-97 MK_REP 6000 201 20 ----------------------------------------------------------------- SQL> select employee_id from hany; EMPLOYEE_ID ----------- 201 202 ----------------------------------------------------------------- ---- as can you see the employee 999 not exist in the view ---- but when we look for it in Employees Table , you will see it SQL> select employee_id from hany; EMPLOYEE_ID ----------- 201 202 999 ------------------------------------------------------------------- SQL> update hany 2 set department_id=20 where employee_id=999; 0 rows updated. ------------------------------------------- SQL> ed Wrote file afiedt.buf 1 update employees 2* set department_id=20 where employee_id=999 SQL> / 1 row updated. اما بالنسبة لل order by فهى مسألة بسيطة ، انت كل ما فى الموضوع انك بترتب البيانات على حسب عمود معين ..... فمثالأً :- Create or replace view Hany as select * from employees where department_id = 20 order by employee_id; اذا كان كلامى مش واضح فأرجو أن تقول لى ما الغامض .... مع تمنياتى لك بالتوفيق تقديم بلاغ
بتاريخ: 8 مارس 200817 سنة comment_124171 الأخ / هانى دائما مجهود متميز وعطاء متميز من عضو متميز ... شكرا لك جزاك الله خيرا تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.