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

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


أسامة موسى

Recommended Posts

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

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

هو اذا كنت تريد ان تحذف بيانات شيء محدد من جميع الجداول
مثلا بيانات موظف من جميع الجداول فنرى ان المشترك بين هذه الجداول هو حقل رقم الموظف 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
هذا كل مافي الموضوع وبالتوفيق

رابط هذا التعليق
شارك


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

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

هو اذا كنت تريد ان تحذف بيانات شيء محدد من جميع الجداول
مثلا بيانات موظف من جميع الجداول فنرى ان المشترك بين هذه الجداول هو حقل رقم الموظف 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

مشكور مرة أخري و بالتوفيق
رابط هذا التعليق
شارك

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

رابط هذا التعليق
شارك

السلام عليكم

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

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية