الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تتبع التغييرات لجدول في قاعدة البيانات

مغلق
بدأه صاحب همة في 15 نوفمبر 2006 · 6 رد · 793 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أود السؤال عن كيفية تتبع تعامل المستخدم مع جدول معين ، بمعنى أني أريد تسجيل جميع القيم الموجودة قبل التعديل ، ثم تسجيل التغييرات الحاصلة بعد اجراء عملية التعديل

كيف يمكنني ذلك؟

من لمح فجر الأجر هان عليه ظلام التكليف

#2

يمكنك عمل log table للجدول الذي تريد تتبع التغييرات عليه، بحيث يحوي الحقول التالية: متسلسل، التاريخ، القيمة قبل التغيير، القيمة بعد التغيير، تفاصيل أخرى.

هذه طريقة فقط.

فكر بطريقة أخرى

#3

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

أخي الكريم ببساطة أقول لك .. يمكن كما قال لك الأخ وليد أن تنشئ جدول مراقبة فيه :

tblObserving

أعمدته على سبيل المثال :

اسم الجدول : الذي يجري فيه التعديل ..

الحقول التي تم تعديل قيمها .. مفصولة بفاصلة .

و Id الجدول الذي يدل على السجل الذي تم تعديل قيمته .

وأي حقول تقترحها أنت كـ حقل لتخزين القيم القديمة قبل التعديل ..

ثم تأتي للجدول الذي تريد مراقبته وتصنع له Trigger قادحاً ..

من نوع For Update وفيه تقوم بتفحص الحقول التي تم تعديل قيمها طبعاً هناك دالة بسيطة لذلك ..

وبعدها تسجل ما حدث في جدول المراقبة وتكون كل الأمور عال العال ;)

بالتوفيق :)

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#4

بصراحه موضوع جميل ويحتاج لشيئ من التفصيل والشرح اتمنى من الاخ الكريم / imadouzoun اثرائنا ببعض التفصيل

وشكراً

#5

شكرا للاخوين الكريمين ..لكن هل هناك دالة جاهزة يمكن استخدامها في القادح لهذا الغرض : أذكر أنه يوجد شيء شبيه بـ old.fieldname, new.fieldname في الاوراكل ، فهل يوجد مشابه لذلك هنا

مع خالص التقدير

من لمح فجر الأجر هان عليه ظلام التكليف

#6
صاحب همة كتب:
شكرا للاخوين الكريمين ..لكن هل هناك دالة جاهزة يمكن استخدامها في القادح لهذا الغرض : أذكر أنه يوجد شيء شبيه بـ old.fieldname, new.fieldname في الاوراكل ، فهل يوجد مشابه لذلك هنا

مع خالص التقدير

نعم، راجع

Trigger and functions, طلب شرح

فكر بطريقة أخرى

#7

جزاك الله خيرا اخي الكريم..وجعله في ميزان حسناتك..

من لمح فجر الأجر هان عليه ظلام التكليف

هذا الموضوع مغلق.

مواضيع مشابهة