Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Οι προσωρινοί πίνακες του SQL Server αποθηκεύουν δεδομένα προσωρινά. Μπορείτε να εκτελέσετε τις ίδιες λειτουργίες—όπως SELECT, INSERT, DELETE και UPDATE—σε έναν προσωρινό πίνακα με έναν κανονικό πίνακα SQL.

Οι πίνακες Temp βρίσκονται στη βάση δεδομένων tempdb και είναι ορατοί μόνο κατά τη διάρκεια της σύνδεσης. Όταν τερματίζετε τη σύνδεση, ο SQL Server διαγράφει τον πίνακα temp. Μπορείτε επίσης να το διαγράψετε ρητά ανά πάσα στιγμή.

Τύποι Πίνακες Temp Server SQL

Υπάρχουν δύο τύποι προσωρινών πινάκων του SQL Server: τοπικοί και καθολικοί.

Τοπικός πίνακας θερμοκρασίας

Ένας τοπικός πίνακας θερμοκρασίας είναι ορατός μόνο στη σύνδεση που τον δημιούργησε. Όταν αυτή η σύνδεση τερματιστεί ή ο χρήστης αποσυνδεθεί από το SQL Server Για παράδειγμα, ένας τοπικός πίνακας θερμοκρασίας απορρίπτεται αυτόματα.

Για να δημιουργήσετε έναν τοπικό πίνακα temp, χρησιμοποιήστε ένα μόνο σύμβολο κατακερματισμού (#) στην αρχή του ονόματος του πίνακα με την πρόταση CREATE TABLE. Εδώ είναι η σύνταξη.

instagram viewer

ΔΗΜΙΟΥΡΓΩΤΡΑΠΕΖΙ#TempTable (
Στήλη 1 INT,
Στήλη 2 VARCHAR(50)
);

Για παράδειγμα, ο ακόλουθος κώδικας δημιουργεί έναν προσωρινό πίνακα που ονομάζεται TempCustomer με ένα πεδίο ονόματος και email.

ΔΗΜΙΟΥΡΓΩΤΡΑΠΕΖΙ#TempCustomer (
ID int ΟΧΙ NULL ΠΡΩΤΕΟ ΚΛΕΙΔΙ
Πλήρες όνομα VARCHAR(50),
Email VARCHAR(50)
);

Παγκόσμιος Πίνακας Θερμοκρασίας

Ένας καθολικός πίνακας θερμοκρασίας είναι ένας προσωρινός πίνακας ορατός σε όλες τις συνδέσεις και τους χρήστες. Ο SQL Server θα το απορρίψει όταν αποσυνδεθούν όλες οι συνδέσεις και οι χρήστες που αναφέρονται στον πίνακα.

Για να δημιουργήσετε έναν καθολικό πίνακα temp, προσθέστε το πρόθεμα στο όνομα του πίνακα με διπλούς κατακερματισμούς (##) και χρησιμοποιήστε τη δήλωση CREATE TABLE.

ΔΗΜΙΟΥΡΓΩΤΡΑΠΕΖΙ##TempTable (
Στήλη 1 INT,
Στήλη 2 VARCHAR(50)
);

Ο παρακάτω κώδικας δημιουργεί έναν καθολικό πίνακα temp που ονομάζεται TempCustomer.

ΔΗΜΙΟΥΡΓΩΤΡΑΠΕΖΙ##TempCustomer (
ID int ΟΧΙ NULL ΠΡΩΤΕΟ ΚΛΕΙΔΙ
Πλήρες όνομα VARCHAR(50),
Email VARCHAR(50)
);

Αυτός ο κώδικας είναι παρόμοιος με το παράδειγμα για τον τοπικό πίνακα temp, απλώς με δύο σύμβολα κατακερματισμού αντί για ένα. Μπορείτε τώρα να χρησιμοποιήσετε τυπικές εντολές SQL για να προσθέσετε ή να χειριστείτε τα δεδομένα στον πίνακα temp.

Πώς να ρίξετε έναν πίνακα θερμοκρασίας

Η παρουσία του SQL Server απορρίπτει αυτόματα έναν προσωρινό πίνακα όταν όλοι οι χρήστες που τον αναφέρουν έχουν αποσυνδεθεί. Ως βέλτιστη πρακτική, θα πρέπει πάντα να απορρίπτετε ρητά τους πίνακες temp για να ελευθερώσετε τη μνήμη tempdb.

Για να αποθέσετε έναν πίνακα temp, χρησιμοποιήστε τη δήλωση DROP TABLE IF EXISTS ακολουθούμενη από το όνομα του πίνακα temp.

Δείτε πώς μπορείτε να αποθέσετε τον πίνακα #TempCustomer:

ΠΤΩΣΗΤΡΑΠΕΖΙΑΝΥΠΑΡΧΕΙ#TempCustomer

Χρησιμοποιήστε τον ίδιο κωδικό, αλλά αλλάξτε το όνομα του πίνακα για να ρίξετε έναν καθολικό πίνακα προσωρινής.

ΠΤΩΣΗΤΡΑΠΕΖΙΑΝΥΠΑΡΧΕΙ##TempCustomer

Τυπικές χρήσεις των πινάκων Temp SQL

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

Ένα άλλο σενάριο όπου οι προσωρινοί πίνακες είναι χρήσιμοι είναι όταν χρειάζεστε τα αποτελέσματα του ερωτήματος από έναν πίνακα για να εκτελέσετε ένα άλλο ερώτημα. Μπορείτε να αποθηκεύσετε τα αποτελέσματα σε έναν πίνακα temp και στη συνέχεια να τον αναφέρετε στο νέο σας ερώτημα. Ουσιαστικά, χρησιμοποιείτε τον πίνακα temp ως πίνακα εργασίας ή buffer για να κρατήσετε τα δεδομένα που χρειάζεστε για να εκτελέσετε μια συγκεκριμένη εργασία.

Χρήση πινάκων Temp στον SQL Server

Μπορείτε να χρησιμοποιήσετε προσωρινούς πίνακες του SQL Server για την προσωρινή αποθήκευση και επεξεργασία δεδομένων. Υπάρχουν δύο τύποι πινάκων temp, τοπικοί και καθολικοί. Ένας τοπικός πίνακας temp είναι ορατός στη σύνδεση στην οποία έχει δημιουργηθεί ενώ ένας καθολικός πίνακας temp είναι ορατός σε όλες τις συνδέσεις.

Οι πίνακες Temp καταστρέφονται αυτόματα όταν αποσυνδέεστε από την παρουσία διακομιστή. Ωστόσο, για να διατηρήσετε τη μνήμη, θα πρέπει πάντα να τα ρίχνετε μετά τη χρήση.