إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

كود لحذف بيانات معينة من على قاعدة البيانات وعن كل الجداول


4 رد (ردود) على هذا الموضوع

#1 أسامة موسى

أسامة موسى

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 14 February 2007 - 10:35 AM

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

اخواني الكرام
الهدف من الكود :

هو اذا كنت تريد ان تحذف بيانات شيء محدد من جميع الجداول
مثلا بيانات موظف من جميع الجداول فنرى ان المشترك بين هذه الجداول هو حقل رقم الموظف Emp_id

طريقة عمل الكود :

نقول له اجلب جميع اسماء الجداول اللي فيها الحقل اللي اسمه emp_id
حيث ان رقم الموظف هو عبارة عن الرمز ur_data
ويخزنها في ملف سكربت

اليوز المفضل لتنفيذ الكود :
يفضل استخدام يوزر ال System


SPOOL C:\DELETE_COLM.SQL
SELECT 'DELETE FROM '||TABLE_NAME||' WHERE '||COLUMN_NAME||'="UR_DATA";'
FROM USER_TAB_COLUMNS
WHERE COLUMN_NAME LIKE '%Emp_Id'
/
SPOOL OFF

ملاحظة : لكي يعمل عندك الكود يجب ان يكون اسم الحقل اللي هو اسم الموظف موحد
مثلا ان يكون اسم الحقل الخاص بالموظف الموجود بالجدول كاتالي
hr_emp_id
er_emp_id
هذا كل مافي الموضوع وبالتوفيق
۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#2 moro_555

moro_555

    عضو

  • الأعضــاء
  • 33 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 14 February 2007 - 11:00 AM

السلام عليكم ورحمة الله وبركاته
مشكور ياخي على هذا المجهود
واسال الله لك المزيد

#3 هانى سند

هانى سند

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 743 مشاركة

تاريخ المشاركة 14 February 2007 - 12:56 PM

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

اخواني الكرام
الهدف من الكود :

هو اذا كنت تريد ان تحذف بيانات شيء محدد من جميع الجداول
مثلا بيانات موظف من جميع الجداول فنرى ان المشترك بين هذه الجداول هو حقل رقم الموظف Emp_id

طريقة عمل الكود :

نقول له اجلب جميع اسماء الجداول اللي فيها الحقل اللي اسمه emp_id
حيث ان رقم الموظف هو عبارة عن الرمز ur_data
ويخزنها في ملف سكربت

اليوز المفضل لتنفيذ الكود :
يفضل استخدام يوزر ال System


SPOOL C:\DELETE_COLM.SQL
SELECT 'DELETE FROM '||TABLE_NAME||' WHERE '||COLUMN_NAME||'="UR_DATA";'
FROM USER_TAB_COLUMNS
WHERE COLUMN_NAME LIKE '%Emp_Id'
/
SPOOL OFF

ملاحظة : لكي يعمل عندك الكود يجب ان يكون اسم الحقل اللي هو اسم الموظف موحد
مثلا ان يكون اسم الحقل الخاص بالموظف الموجود بالجدول كاتالي
hr_emp_id
er_emp_id
هذا كل مافي الموضوع وبالتوفيق



مشكور أخي أسامة اهو كدة :)
طلع إبداعاتك:angry:
و لكن لي تعقيب بسيط علي جزئية اليوزر المفضل لتنفيذ الكود

إذا كان المقصود هو تنفيذ الكود تحت اليوزر SYSTEM

فمعني ذلك انه في السيليكت سيظهر اسماء الجداول الخاصة بالمستخدم SYSTEM و ليست الجداول التي نريد الحذف منها ليوزر معين لذلك يفضل استخدام اليوزر صاحب الجداول اوالOWNER

مشكور مرة أخري و بالتوفيق

#4 أسامة موسى

أسامة موسى

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 14 February 2007 - 01:42 PM

الاخ هاني
المقصود من يوزر SYSTEM هو عمل Select statment من جدول USER_TAB_COLUMNS
وهذا الجدول موجود ب يوزر ال System حيث ياتي بأسماء الجداول
اما تنفيذ السكريبت فيكون على الOwner
لأن المقصود بها هو ان يأتي بأسماء جميع الجداول التي تفي بالشرط اما بالنسبة لتنفيذ الحذف فيكون عبارة عن ملف سكربت فيه تنفيذ اوامر حذف وبشرط نحن نحدده مسبقا ارجو ان يكون قد وضح الموضوع حتى لا يصيح لبس بالموضوع
۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#5 هانى سند

هانى سند

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 743 مشاركة

تاريخ المشاركة 14 February 2007 - 02:17 PM

السلام عليكم

هذا ما اردت توضيحه حتي لا يكون هناك لبس عند احد الاعضاء و يقوم بتنفيذ الاسكربت الناتج علي اليوزر system :)
مشكور
بالتوفيق