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

حذف جميع البيانات من الجداول و إعادة أساس الحقل الأساسي إلى 0 في ثلاث سطور فقط

بدأه بهاء صلاح الدين في 15 أبريل 2011 · 2 رد · 1,463 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

قد تحتاج إلى حذف جميع البيانات في الجداول ثم إعادة تصفير الحقول الأساسي فماذا نفعل؟

طبعاً سننفذ جملة truncate لحذف الجداول، و لكن ماذا تفعل إذاكانت هذه الجداول كثيرة جداً؟ سيكون أمراً سخيفاً أن تكتب جملة truncate ثلاثين أو أربعين مرة .. أليس كذلك؟

يمكن عمل ذلك في ثلاث خطوات فقط بإستخدام system stored procedure يدعى sp_msforeachtable.

الخطوة الأولى هي تعطيل العلاقات بين الجداول مؤقتاً:

  EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"

حيث ? تعني جميع الجداول في قاعدة البيانات.

الخطوة الثانية هي حذف البيانات من الجداول:

 EXEC sp_MSForEachTable "DELETE FROM ?"

لحذف البيانات من جدول معين و ليس كل الجداول نستبدل المجهول ? بإسم الجدول، مثلاً:

 EXEC sp_MSForEachTable "DELETE FROM Students"

الخطوة الثالثة هي تفعيل العلاقات بين الجداول مرة أخرى:

 exec sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"

إذا أضفت صفوفاً جديدة في هذه الجداول ستلاحظ أن قيمة حقل ID لم تعد بعد إلى الصفر، لذا لإعادة تصفير الحقول الأساسية في الجداول ننفذ هذا الإجراء:

 EXEC sp_MSforeachtable "DBCC CHECKIDENT ( '?', RESEED, 0)"

إذا كنت تريد تصفير الحقل الأساسي في جدول معين إستبدل ? بإسم الجدول.

تم تعديل هذه المشاركة بواسطة بهاء صلاح الدين فراج في 15 أبريل 2011 في 16:18

2
#2

ممتازة .. برافو :)

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة 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

#3

جديدة الحركة دى

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

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