أسامة موسى بتاريخ: 14 فبراير 2007 تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2007 السلام عليكم ورحمة الله وبركاتهاخواني الكرام الهدف من الكود :هو اذا كنت تريد ان تحذف بيانات شيء محدد من جميع الجداولمثلا بيانات موظف من جميع الجداول فنرى ان المشترك بين هذه الجداول هو حقل رقم الموظف 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_ider_emp_idهذا كل مافي الموضوع وبالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
moro_555 بتاريخ: 14 فبراير 2007 تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2007 السلام عليكم ورحمة الله وبركاتهمشكور ياخي على هذا المجهودواسال الله لك المزيد اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هانى سند بتاريخ: 14 فبراير 2007 تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2007 السلام عليكم ورحمة الله وبركاتهاخواني الكرام الهدف من الكود :هو اذا كنت تريد ان تحذف بيانات شيء محدد من جميع الجداولمثلا بيانات موظف من جميع الجداول فنرى ان المشترك بين هذه الجداول هو حقل رقم الموظف Emp_idطريقة عمل الكود :نقول له اجلب جميع اسماء الجداول اللي فيها الحقل اللي اسمه emp_idحيث ان رقم الموظف هو عبارة عن الرمز ur_dataويخزنها في ملف سكربت اليوز المفضل لتنفيذ الكود :يفضل استخدام يوزر ال SystemSPOOL 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_ider_emp_idهذا كل مافي الموضوع وبالتوفيق مشكور أخي أسامة اهو كدة طلع إبداعاتك:angry: و لكن لي تعقيب بسيط علي جزئية اليوزر المفضل لتنفيذ الكود إذا كان المقصود هو تنفيذ الكود تحت اليوزر SYSTEMفمعني ذلك انه في السيليكت سيظهر اسماء الجداول الخاصة بالمستخدم SYSTEM و ليست الجداول التي نريد الحذف منها ليوزر معين لذلك يفضل استخدام اليوزر صاحب الجداول اوالOWNERمشكور مرة أخري و بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
أسامة موسى بتاريخ: 14 فبراير 2007 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2007 الاخ هانيالمقصود من يوزر SYSTEM هو عمل Select statment من جدول USER_TAB_COLUMNSوهذا الجدول موجود ب يوزر ال System حيث ياتي بأسماء الجداول اما تنفيذ السكريبت فيكون على الOwnerلأن المقصود بها هو ان يأتي بأسماء جميع الجداول التي تفي بالشرط اما بالنسبة لتنفيذ الحذف فيكون عبارة عن ملف سكربت فيه تنفيذ اوامر حذف وبشرط نحن نحدده مسبقا ارجو ان يكون قد وضح الموضوع حتى لا يصيح لبس بالموضوع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هانى سند بتاريخ: 14 فبراير 2007 تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2007 السلام عليكم هذا ما اردت توضيحه حتي لا يكون هناك لبس عند احد الاعضاء و يقوم بتنفيذ الاسكربت الناتج علي اليوزر system مشكور بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.