عندي قاعدة بيانات و اريد تحديث حقل الى قيمة معينة و لكن قاعدة البيانات تحتوي على حوالي 20000 سجل و عملية التحديث تستغرق زمما كبيرا و اريد ان ابحث دالة لتسريع تحديث قيمة الحقل
و هذه الدالة التي استعملتها في عملية التحديث و لكن تستغرق اكثر من 45 دقيقة
table1.First;
while not table1.Eof do
begin
table1.Edit;
table1.fieldbyname('cle').value:=(((table1.fieldbyname('N_COMPT').value div 10000000)*11));
table1.Next;
end;
end;
فهل من طريقة جديدة او دالة تساعد على اسراع عملية التحديث
بخصوص تحديث قاعدة معطيات
استخدم lستعلام sql
update tablename set column=column2/1000*11
السلام عليكم...
بالطبع سيكون استعمال حلقة بهذا الشكل غير عملي و مرهق و بطيء جداً - تصور لو كانت السجلات بمئات الألوف أو الملايين!!!
كما قال أخونا محمد: استخدم استعلاماً (Query) لتنفيذ جملة SQL التالية:
UPDATE table_name SET cle = (N_COMPT / 10000000) * 11
حيث table_name هو اسم الجدول في قاعدة البيانات.
نرجو الاستفادة و السلام.
وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ
صدق الله العظيم