האם נוכל להשתמש בעסקה בהליך מאוחסן?
האם נוכל להשתמש בעסקה בהליך מאוחסן?

וִידֵאוֹ: האם נוכל להשתמש בעסקה בהליך מאוחסן?

וִידֵאוֹ: האם נוכל להשתמש בעסקה בהליך מאוחסן?
וִידֵאוֹ: SCP-001 O5-13 | object class Euclid | Captain Kirbys Proposal 2024, מאי
Anonim

אם אָנוּ יש יותר ממשפט SQL אחד בביצוע ב- הליך מאוחסן ו אָנוּ רוצה להחזיר לאחור את כל השינויים שנעשו על ידי כל אחת מהצהרות SQL למקרה שהתרחשה שגיאה בגלל אחת מהצהרות SQL, אנו יכולים להשתמש בעסקה בנוהל מאוחסן.

רק אז, האם נהלים מאוחסנים פועלים בעסקה?

מקונן פרוצדורות מאוחסנות הם יצא לפועל בתוך ה עִסקָה ההקשר של החיצוניים ביותר הליך מאוחסן . זוהי הגדרת ברירת המחדל. מספק את התנהגות ברירת המחדל שתוארה לעיל. כלומר, כל הצהרות SQL ב-a הליך מאוחסן לבצע בתור רווק עִסקָה לַחסוֹם.

מלבד לעיל, האם נוכל להשתמש בהתחייבות בהליך? בכללי, נהלים לא צריך לְבַצֵעַ . אם אתה לְבַצֵעַ בתוך מאוחסן תהליך , אתה מגביל את השימוש החוזר שלו מכיוון שמתקשר שרוצה את השינויים תהליך עושה להיות חלק מעסקה גדולה יותר לא יכול פשוט לקרוא את תהליך בצורה ישירה.

לגבי זה, האם נוכל להשתמש בטרנזקציה בפונקציית SQL?

1 תשובה. בגלל זה עסקאות מיותרים עבור sql -שרת פונקציות . עם זאת, אתה פחית שינוי עִסקָה רמת בידוד, למשל, אתה יכול להשתמש רמז NOLOCK להגיע ל"קרא לא מחויב" עִסקָה רמת בידוד ולקרוא נתונים לא מחויבים מאחרים עסקאות.

האם נוכל להשתמש בטרנזקציות מקוננות ב-SQL אם כן אז איך?

SQL השרת לא ממש תומך עסקאות מקוננות . יש רק אחד עִסקָה בכל פעם. זֶה עִסקָה יש בסיסי עסקה מקוננת מונה, @@TRANCOUNT. כל התחלה רצופה עִסקָה מרווחים ה נגד אחד, כל התחייבות עִסקָה מקטין אותו באחד.

מוּמלָץ: