Oracle Create Temp Table

Oracle Create Temp Table



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

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







התחביר של ההצהרה 'CREATE GLOBAL TEMPORARY TABLE' הוא כדלקמן:



CREATE TABLE זמני גלובלי שם_טבלה (
סוג נתונים של column1 [NULL | לא ריק],
עמודה2 סוג נתונים [NULL | לא ריק],
...
) [בהתחייבות {מחק | PRESERVE} שורות];

בתחביר זה, table_name הוא השם של הטבלה הזמנית הגלובלית שברצונך ליצור. עמודה1, עמודה2 וכו', הם השמות וסוגי הנתונים של העמודות בטבלה.



סעיף ON COMMIT מציין אם השורות בטבלה יימחקו או יישמרו בעת ביצוע העסקה הנוכחית. מנוע מסד הנתונים ישתמש באפשרות ON COMMIT DELETE ROWS אם הסעיף ON COMMIT לא מוגדר.





כאמור, יש לזכור שהנתונים בטבלה זמנית הם פרטיים. משמעות הדבר היא ששום הפעלות אחרות מלבד אלו שיצרו את הטבלה לא יכולות לגשת אליה.

יצירת דוגמה גלובלית לטבלה זמנית

תן לנו לגלות כמה דוגמאות מעשיות לשימוש במשפט צור טבלה זמנית במסדי נתונים של אורקל.



שקול את השאילתה לדוגמה המוצגת להלן:

צור טבלה זמנית גלובלית מכירות זמניות (
product_id NUMBER(10) NOT NULL,
sale_date DATE NOT NULL,
sale_amount NUMBER(10,2) NOT NULL
) ON COMMIT מחק שורות;

בדוגמה למעלה, אנו יוצרים טבלה זמנית באמצעות האפשרות ON COMMIT DELETE ROWS.

לאחר מכן נוכל להוסיף כמה נתונים לדוגמה כ:

INSERT INTO TEMP_SALES (מזהה_מוצר, תאריך_מבצע, כמות_מכירה) VALUES (1, DATE '2022-10-01', 100);
INSERT INTO TEMP_SALES (מזהה_מוצר, תאריך_מבצע, כמות_מכירה) VALUES (2, DATE '2022-10-02', 500);
INSERT INTO TEMP_SALES (מזהה_מוצר, תאריך_מבצע, כמות_מכירה) VALUES (3, DATE '2022-10-03', 130);

לאחר מכן, תוכל לבצע את העסקה כ:

לְבַצֵעַ;

לאחר הביצוע, מנוע מסד הנתונים יקצר את כל הנתונים בטבלה הזמנית כמפורט בסעיף ה-commit.

דוגמה 2

הדוגמה הבאה מראה כיצד ליצור טבלה המשמרת שורות ב-commit:

צור טבלה זמנית גלובלית מכירות זמניות (
product_id NUMBER(10) NOT NULL,
sale_date DATE NOT NULL,
sale_amount NUMBER(10,2) NOT NULL
) בשורות שימור מחויבות ;

לאחר מכן נוכל להוסיף שורות לדוגמה ולהתחייב כפי שמוצג:

INSERT INTO TEMP_SALES (מזהה_מוצר, תאריך_מבצע, כמות_מכירה) VALUES (1, DATE '2022-10-01', 100);
INSERT INTO TEMP_SALES (מזהה_מוצר, תאריך_מבצע, כמות_מכירה) VALUES (2, DATE '2022-10-02', 500);
INSERT INTO TEMP_SALES (מזהה_מוצר, תאריך_מבצע, כמות_מכירה) VALUES (3, DATE '2022-10-03', 130);

לְבַצֵעַ;

במקרה זה, הנתונים צריכים להישמר לאחר פעולת ה-commit, כפי שמוצג בהצהרת הבחירה למטה:

בחר * FROM TEMP_SALES;

תְפוּקָה:

סיכום

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