آیا DML Autocommit است؟
آیا DML Autocommit است؟

تصویری: آیا DML Autocommit است؟

تصویری: آیا DML Autocommit است؟
تصویری: [اثبات مفهوم] AutoML - چرا به این سادگی نیست؟ 2024, مارس
Anonim

به طور پیش فرض، الف DML بیانیه‌ای که بدون شروع صریح تراکنش اجرا می‌شود، به‌طور خودکار در صورت موفقیت انجام می‌شود یا در صورت شکست در پایان بیانیه بازگردانده می‌شود. این رفتار نامیده می شود خودکار . این رفتار با کنترل می شود AUTOCOMMIT پارامتر.

از این رو، آیا DDL یک Autocommit است؟

یک دستور SQL اجرا شده در خودکار حالت را نمی توان به عقب برگرداند. بیشترین نیروی DBMS (به عنوان مثال MariaDB). خودکار برای هر DDL بیانیه حتی بی نام خودکار حالت قبل از DDL بیانیه startprevious بیانیه های DML در تراکنش (خودکار) متعهد می شوند. هر یک DDL در جدید خود اجرا می شود خودکار معامله.

علاوه بر این، آیا SQL Server Autocommit است؟ خودکار حالت حالت پیش فرض مدیریت تراکنش است SQL Server موتور پایگاه داده هر معامله- SQL بیانیه متعهد می شود یا پس از تکمیل آن بازگردانده می شود.

به این ترتیب، آیا عبارات DML می توانند عقب گرد شوند؟

اثر الف بیانیه DML تا زمانی که معامله ای را که شامل آن می شود انجام ندهید دائمی نیست. یک تراکنش دنباله ای از SQL است بیانیه که پایگاه داده اوراکل به عنوان واحد (آن می توان مجرد باشید بیانیه DML ). تا زمانی که تراکنش انجام نشود، آن را انجام می دهد می توان بودن به عقب برگشت (انجام نشده).

آیا کوتاه کردن نیاز به commit دارد؟

و یک نکته کلیدی - اگرچه کوتاه کردن TABLE به نظر یک DELETE بدون بند WHERE است، کوتاه کردن DML نیست، DDL است. حذف نیاز دارد آ مرتکب شدن ، ولی TRUNCATE انجام می دهد نه

توصیه شده: