האם פקודות DDL הן אוטומטיות?
האם פקודות DDL הן אוטומטיות?

וִידֵאוֹ: האם פקודות DDL הן אוטומטיות?

וִידֵאוֹ: האם פקודות DDL הן אוטומטיות?
וִידֵאוֹ: DDL Commands in SQL | Oracle Database 2024, מאי
Anonim

האם ( DDL ) שפת מניפולציה של נתונים הצהרותAutocommit ? לא. רק את DDL (שפת הגדרת נתונים) הצהרות כמו ליצור, לשנות, להוריד, לקטוע הם התחייבות אוטומטית.

חוץ מזה, האם פקודות DML הן אוטומטיות?

כברירת מחדל, א DML הצהרה המבוצעת ללא התחלה מפורשת של עסקה מתחייבת אוטומטית בהצלחתה או חוזרת לכישלון בסוף ההצהרה. התנהגות זו נקראת התחייבות אוטומטית . התנהגות זו נשלטת באמצעות התחייבות אוטומטית פָּרָמֶטֶר. DDL הצהרות תמיד מחויב אוטומטי.

לאחר מכן, השאלה היא, מהי Autocommit ב-SQL? בהקשר של ניהול נתונים, התחייבות אוטומטית הוא מצב פעולה של חיבור למסד נתונים. האלטרנטיבה ל התחייבות אוטומטית מצב (לא- התחייבות אוטומטית ) פירושו שה SQL יישום הלקוח עצמו אחראי על הנפקת פקודות ייזום עסקאות (התחלת עסקה) וסיום (החזרת מחייב).

אם כך, האם DDL דורש התחייבות?

TRUNCATE הוא א DDL פקודה כך שהיא לא צריכה מפורשת לְבַצֵעַ כי הקריאה לזה מבצעת מרומז לְבַצֵעַ . מנקודת מבט של עיצוב מערכת עסקה היא יחידת עבודה עסקית. זה עשוי להיות מורכב מהצהרת DML בודדת או מכמה מהם. זה לא משנה: רק עסקאות מלאות דורשים COMMIT.

מה קורה כאשר Autocommit מופעל?

אם AUTOCOMMIT מוגדר ל-1, כל משפט SQL נחשב לעסקה שלמה ומחויב כברירת מחדל כשהיא מסתיימת. אם AUTOCOMMIT מוגדר עד 0, סדרת ההצהרות העוקבת פועלת כמו עסקה ולא מתבצעת שום עסקה עד שהונפקה הצהרת COMMIT מפורשת.

מוּמלָץ: