بتاريخ: 27 مارس 200718 سنة comment_95192 السلام عليكم و رحمة الله و بركاتةالأخ العزيز أبو صالح أو طبعاً أى أخ معانااريدك ان تساعدنى فى موضوع و انت بإذن الله تعرفه.انا عايز افهم ال rowid و ايه فائدته ة ازاى بيفيد فى الحاجات المكررة.انت كنت رديت على واحد قبل كدة كان عايز يجيب المكرر من الجدول و انت اديت مثال و جربتة و اشتغل بس مش فاهم تقدر تشرحلى الموضوع جزاكم الله خير تقديم بلاغ
بتاريخ: 27 مارس 200718 سنة comment_95202 أي جدول يتم تخليقة من قبل المستخدم فإن أوراكل تخلق معه تلقائيا حقل اسمه rowidوهو عبارة عن قيمة فريدةunique لكل سجل على حدةبعد تخليق الجدول إذا عملت sql < desc my_tableسوف تجد فقط الحقول التي أضفتها بنفسك بعد إضافتك أي سجلات لهذا الجدول يمكنك معرفة ال rowid sql > select rowid from my_tableيمكنك استخدام هذا الحقل في مسح السجلات المكررة فمثلا إذا عنك سجلين بنفس القيم وتريد أن تمسح واحد منهم فإنك تستخدم ال rowidsql < delete from my_table where rowid = 'myrowid' تقديم بلاغ
بتاريخ: 27 مارس 200718 سنة comment_95252 هل يوجد جدول فى ال dictionary به معلومات عن ال rowid ؟و بارك الله فيك يا أخ أبوعزت تقديم بلاغ
بتاريخ: 2 أبريل 200718 سنة كاتب الموضوع comment_95814 اية يا جماعة مفيش حد يفدنا فى الموضوع دهالأخ أبو صالح نداء انسانى ) تقديم بلاغ
بتاريخ: 4 أبريل 200718 سنة comment_96035 الأخ الكريما-لقيمة ROWID هي عبارة عن عنوان السطر المعني ضمن ملفات قاعدة البيانات وهذه القيمة لا تخزن في أي جدول ولكنها موجودة في INDEX الخاص بالجدول وذلك لمساعدة الاستعلام على الوصول للسطور المطلوبة بسرعة.-عندما تطلب القيمة ROWID بواسطة استعلام لا يقوم أوراكل باحضارها من INDEX ولكن يتماستنتاجها من الجدول.-عندما تطلب سطرا معينا بواسطة ROWID الخاص به كما يلي:select ename from emp where rowid=rowid_valueفإن عملية احضار السطر المطلوب تكون سريعة جدا لأنك حددت عنوان السطر بالتحديد ضمن القاعدةفلا يحتاج أوراكل للبحث ضمن كامل الجدول ولا حتى الاستعانة بالفهارس.-القيمة rowid لا علاقة لها بقيم الأعمدة ضمن السطر لأنها قيمة فيزيائية تتعلق بعنوان السطر على القرص الصلب ,فمثلا لو حذفت أحد السطور وقمت بإدخاله مرة ثانية فمن المستبعد جدا أن يكون له نفس rowid القديم.-هناك نوعان من rowid هما extended rowid و restricted rowid-القيمة rowid تتألف من أربعة حقول في حالة النوع extended هي حقل object id,file number,block number,row slot number-شرح بنية rowid يطول وهو موجود ضمن مسار DBA .والله أعلم تم تعديل 5 أبريل 200718 سنة بواسطة hassan978hmk تقديم بلاغ
بتاريخ: 4 أبريل 200718 سنة comment_96036 بالنسبة للسطور المكررة وكما قلت بما أن ROWID ليس له علاقة بقيم السطر فإن السطور المكررة تمتلك ROWID مختلفة ولذلك عند الرغبة في حذف السطور المكررة والإبقاء على أحدها فإن الوسيلة الوحيدة لذلك هي باستخدام ROWID .هناك عدة وسائل للقيام بذلك تتلخص بالحصول على قيم ROWID للسطور المكررة وحذفها جميعا باستثناء أحدها.والله أعلم تقديم بلاغ
بتاريخ: 15 ديسمبر 200817 سنة comment_144858 السلام علكيم لقد استخدمت خاصية البحث على المنتدى وكنت اريد ان اعالج مسألة تكرار البيانات وأفادني احدهم ان استخدم rowid فمثلا انا عندي حقل empno في جدول ال xx وبه بيانات متكررة وأريد ان احذف هذه البيانات المتكررة ليبقى بيان واحد من كل تكرار ارجو حل الجملة وجزاكم الله خيرا تقديم بلاغ
بتاريخ: 15 ديسمبر 200817 سنة comment_144864 السلام عليكمفيما يلي وسيله سهلة لعمل ما تريده وتتلخص بالقيام بإنشاء جدول وسيط تنقل له السطور المكررة ( نسخة واحدة فقط) , ثم نقوم بحذف جميع السطور المكررة من الجدول الأساسيوندخلها من جديد من خلال الجدول الوسيط . create table tempxx as select distinct empno from xx; -- اكتب اسماء جميع الأعمدة --where ..... هنا يمكن إضافة شروط معينة لإلغاء تكرار بعض القيم وليس كل الجدول delete from xx; --where .....نفس الشروط في جملة انشاء الجدول الوسيط insert into xx select * from tempxx; drop table tempxx; طبعا هناك عدد آخر من الوسائل التي يمكن استخدامها للحصول على نفس النتيجةبالتوفيق تم تعديل 15 ديسمبر 200817 سنة بواسطة hassan978hmk تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.