Είναι δυνατόν να δημιουργηθεί ένας προσωρινός πίνακας (μόνο για περίοδο λειτουργίας) από μια εντολή select χωρίς να χρησιμοποιηθεί η εντολή create table και να καθοριστεί κάθε τύπος στήλης; Γνωρίζω ότι οι παράγωγοι πίνακες είναι ικανοί για κάτι τέτοιο, αλλά αυτοί είναι εξαιρετικά προσωρινοί (μόνο με δήλωση) και θέλω να τους επαναχρησιμοποιήσω.
Θα εξοικονομούσα χρόνο αν δεν χρειαζόταν να γράψω μια εντολή δημιουργίας πίνακα και να διατηρώ τον κατάλογο στηλών και τον κατάλογο τύπων σε αντιστοιχία.
CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (SELECT * FROM table1)
Από το εγχειρίδιο που βρίσκεται στη διεύθυνση http://dev.mysql.com/doc/refman/5.7/en/create-table.html
Μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί TEMPORARY κατά τη δημιουργία ενός πίνακα. Ένας πίνακας TEMPORARY είναι ορατός μόνο στην τρέχουσα συνεδρία, και αποσύρεται αυτόματα όταν κλείσει η συνεδρία. Αυτό σημαίνει ότι δύο διαφορετικές σύνοδοι μπορούν να χρησιμοποιούν το ίδιο όνομα προσωρινού πίνακα χωρίς να συγκρούονται μεταξύ τους ή με έναν υπάρχοντα μη προσωρινό πίνακα με το ίδιο όνομα. (Ο υπάρχων πίνακας αποκρύπτεται μέχρι να διαγραφεί ο προσωρινός πίνακας.) Για να δημιουργήσετε προσωρινούς πίνακες, πρέπει να έχετε το προνόμιο CREATE TEMPORARY TABLES (ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΣΩΡΙΝΩΝ ΠΙΝΑΚΩΝ).
Χρησιμοποιήστε αυτή τη σύνταξη:
CREATE TEMPORARY TABLE t1 (select * from t2);