PDA

View Full Version : delete from database



akb_behnam
پنج شنبه 26 بهمن 1385, 16:50 عصر
سلام من هر کاری می کنم نمی تونم اطلاعات رو با دستور delete و یا query delete در حین اجرا پاک کنم میشه راهنماییم کنید و شکل درست دستور delete رو به همراه شرط بگید

rezaTavak
پنج شنبه 26 بهمن 1385, 21:19 عصر
delete هیچ رکوردی را عملا پاک نمیکند!

فقط در ساختار هر رکورد ما یک فیلد اضافی داریم که اگر علامت بخورد یعنی پاک شده است. در browse این فیلد بصورت یک مستطیل مشکی ظاهر می شود.

اما برای عدم کار با فیلدهایی که منطقا (یعنی با روش بالا)‌حذف شده اند از دستور
set delete on
استفاده کنید.

یا از


set filter to not deleted()

اکه البته زیاد منظقی نیست

akb_behnam
جمعه 27 بهمن 1385, 23:52 عصر
خوب این هایی که علامت می خوره فضا اشغال نمی کنه ؟ چی کار کنم که واقعا پاک شه ؟

naderigh
شنبه 28 بهمن 1385, 07:27 صبح
فرمان pack را اجرا کنید رکوردهای dele شده حذف میگردد
البته dbf شما بایستی excl باز شده باشد

rezaTavak
شنبه 28 بهمن 1385, 12:33 عصر
چرا اشفال می کنه چون با دستور recll باشد اطلاعات دوباره بازگردد.

دستور pack یک بار دیگر جدول بانک را بدون رکوردهای حذف شده از نو می سازد.

قاعدتا همچین کاری نمیکنند چون دیگر شبکه بودن برنامه شما زیر سوال است. سرعت پایین تر می آید و...

اگر خیلی نگران فضا هستید آنهایی که علامت حذف شده دارند را برای رکوردهای جدید در نظر بگیرد که البته درست نیست. (حتما حذف منطقی دلیل دارد! مثلا اشتباه کاربر)