Oracle Create Temp Table

Oracle Create Temp Table



Οι καθολικοί προσωρινοί πίνακες είναι χρήσιμοι κατά την αποθήκευση προσωρινών δεδομένων που χρειάζονται μόνο για μια συναλλαγή ή διάρκεια περιόδου σύνδεσης. Σε αντίθεση με τους κανονικούς πίνακες, οι καθολικοί προσωρινοί πίνακες απορρίπτονται αυτόματα όταν τελειώνει η περίοδος σύνδεσης ή η συναλλαγή. Επομένως, δεν χρειάζεται να απορρίπτονται ρητά όπως τα κανονικά τραπέζια. Ωστόσο, οι καθολικοί προσωρινοί πίνακες είναι ορατοί μόνο στην τρέχουσα περίοδο λειτουργίας, επομένως δεν είναι δυνατή η πρόσβαση σε αυτούς από άλλες περιόδους σύνδεσης ή χρήστες.

Στην Oracle, ένας καθολικός προσωρινός πίνακας είναι ένας ειδικός τύπος πίνακα που δημιουργείται χρησιμοποιώντας τη δήλωση 'δημιουργία καθολικού προσωρινού πίνακα'. Αυτή η δήλωση είναι παρόμοια με την κανονική δήλωση 'δημιουργία πίνακα', αλλά περιλαμβάνει τη λέξη-κλειδί 'καθολική προσωρινή' για να προσδιορίσει ότι ο πίνακας είναι ένας καθολικός προσωρινός πίνακας.







Η σύνταξη της δήλωσης «ΔΗΜΙΟΥΡΓΙΑ ΠΑΓΚΟΣΜΙΟΥ ΠΡΟΣΩΡΙΝΟΥ ΠΙΝΑΚΑ» είναι η εξής:



ΔΗΜΙΟΥΡΓΙΑ ΠΑΓΚΟΣΜΙΟΥ ΠΡΟΣΩΡΙΝΟΥ ΠΙΝΑΚΑΣ name_name (
στήλη1 τύπος δεδομένων [NULL | ΟΧΙ ΚΕΝΟ],
στήλη2 τύπος δεδομένων [NULL | ΟΧΙ ΚΕΝΟ],
...
) [ΚΑΤΑ ΔΕΣΜΕΥΣΗ {ΔΙΑΓΡΑΦΗ | ΔΙΑΤΗΡΗΣΗ} ΣΕΙΡΩΝ];

Σε αυτήν τη σύνταξη, το όνομα_τραπέζης είναι το όνομα του καθολικού προσωρινού πίνακα που θέλετε να δημιουργήσετε. στήλη1, στήλη 2 κ.λπ., είναι τα ονόματα και οι τύποι δεδομένων των στηλών στον πίνακα.



Η ρήτρα ON COMMIT καθορίζει εάν οι σειρές στον πίνακα θα διαγραφούν ή θα διατηρηθούν όταν δεσμευτεί η τρέχουσα συναλλαγή. Ο μηχανισμός βάσης δεδομένων θα χρησιμοποιήσει την επιλογή ON COMMIT DELETE ROWS εάν δεν έχει οριστεί ο όρος ON COMMIT.





Όπως αναφέρθηκε, λάβετε υπόψη ότι τα δεδομένα σε έναν προσωρινό πίνακα είναι ιδιωτικά. Αυτό σημαίνει ότι καμία άλλη περίοδος σύνδεσης εκτός από εκείνη που δημιουργήθηκε ο πίνακας δεν μπορεί να έχει πρόσβαση σε αυτόν.

Παράδειγμα δημιουργίας παγκόσμιου προσωρινού πίνακα

Ας ανακαλύψουμε μερικά πρακτικά παραδείγματα χρήσης της δήλωσης δημιουργίας προσωρινού πίνακα στις βάσεις δεδομένων Oracle.



Εξετάστε το παράδειγμα ερωτήματος που φαίνεται παρακάτω:

ΔΗΜΙΟΥΡΓΙΑ ΠΑΓΚΟΣΜΙΟΥ ΠΡΟΣΩΡΙΝΟΥ ΠΙΝΑΚΑ temp_sales (
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 (product_id, sale_date, sale_mount) VALUES (1, DATE '2022-10-01', 100);
INSERT INTO TEMP_SALES (product_id, sale_date, sale_amount) VALUES (2, DATE '2022-10-02', 500);
INSERT INTO TEMP_SALES (product_id, sale_date, sale_mount) VALUES (3, DATE '2022-10-03', 130);

Μετά από αυτό, μπορείτε να πραγματοποιήσετε τη συναλλαγή ως εξής:

ΔΙΑΠΡΑΤΤΩ;

Μετά τη δέσμευση, ο μηχανισμός της βάσης δεδομένων θα περικόψει όλα τα δεδομένα στον προσωρινό πίνακα, όπως καθορίζεται στη ρήτρα δέσμευσης.

Παράδειγμα 2

Το ακόλουθο παράδειγμα δείχνει πώς να δημιουργήσετε έναν πίνακα που διατηρεί τις γραμμές κατά τη δέσμευση:

ΔΗΜΙΟΥΡΓΙΑ ΠΑΓΚΟΣΜΙΟΥ ΠΡΟΣΩΡΙΝΟΥ ΠΙΝΑΚΑ temp_sales (
product_id NUMBER(10) NOT NULL,
sale_date DATE NOT NULL,
sale_amount NUMBER(10,2) NOT NULL
) ΣΧΕΤΙΚΑ ΜΕ ΤΗ ΔΙΑΤΗΡΗΣΗ ΣΕΙΡΩΝ ;

Στη συνέχεια, μπορούμε να προσθέσουμε δείγματα σειρών  και να δεσμευτούμε όπως φαίνεται:

INSERT INTO TEMP_SALES (product_id, sale_date, sale_mount) VALUES (1, DATE '2022-10-01', 100);
INSERT INTO TEMP_SALES (product_id, sale_date, sale_amount) VALUES (2, DATE '2022-10-02', 500);
INSERT INTO TEMP_SALES (product_id, sale_date, sale_mount) VALUES (3, DATE '2022-10-03', 130);

ΔΙΑΠΡΑΤΤΩ;

Σε αυτήν την περίπτωση, τα δεδομένα θα πρέπει να διατηρηθούν μετά τη λειτουργία δέσμευσης, όπως φαίνεται από την παρακάτω δήλωση επιλογής:

ΕΠΙΛΟΓΗ * ΑΠΟ TEMP_SALES.

Παραγωγή:

συμπέρασμα

Η δήλωση 'create temporary table' είναι ένα ισχυρό εργαλείο για τη δημιουργία προσωρινών πινάκων στο Oracle. Οι προσωρινοί πίνακες είναι χρήσιμοι για την αποθήκευση προσωρινών δεδομένων που χρειάζονται μόνο για μια συναλλαγή ή περίοδο λειτουργίας. Η δήλωση 'δημιουργία προσωρινού πίνακα' σάς επιτρέπει να ορίσετε τη δομή και τις στήλες του προσωρινού πίνακα και να καθορίσετε πώς θα χειρίζονται οι σειρές όταν δεσμευτεί η συναλλαγή. Ως αποτέλεσμα, η χρήση προσωρινών πινάκων μπορεί να βελτιώσει την απόδοση και την αποτελεσματικότητα των ερωτημάτων και των εφαρμογών σας και να μειώσει την ποσότητα του μόνιμου χώρου αποθήκευσης που απαιτείται στη βάση δεδομένων σας.