Ανώνυμος χρήστης
Περισσότερα
Εισαγωγή πολλαπλών γραμμών σε ένα μόνο ερώτημα SQL;
Έχω πολλαπλά σύνολα δεδομένων προς εισαγωγή ταυτόχρονα, ας πούμε 4 σειρές. Ο πίνακάς μου έχει τρεις στήλες: Person
, Id
και Office
.
INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office");
INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office");
INSERT INTO MyTable VALUES ("Billy", 125, "London Office");
INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office");
Μπορώ να εισαγάγω και τις 4 γραμμές σε μία μόνο εντολή SQL;
1595
3
Στον SQL Server 2008 μπορείτε να εισαγάγετε πολλαπλές γραμμές χρησιμοποιώντας μία μόνο εντολή SQL INSERT.
Για αναφορά σε αυτό ρίξτε μια ματιά στο MOC Course 2778A - Writing SQL Queries in SQL Server 2008.
Για παράδειγμα:
Αν κάνετε εισαγωγή σε έναν μόνο πίνακα, μπορείτε να γράψετε το ερώτημά σας ως εξής (ίσως μόνο στη MySQL):
ΣΗΜΕΙΩΣΗ: Αυτή η απάντηση αφορά τον SQL Server 2005. Για τον SQL Server 2008 και μεταγενέστερα, υπάρχουν πολύ καλύτερες μέθοδοι, όπως φαίνεται στις άλλες απαντήσεις.
Μπορείτε να χρησιμοποιήσετε INSERT με SELECT UNION ALL:
Μόνο για μικρά σύνολα δεδομένων όμως, τα οποία θα πρέπει να είναι εντάξει για τις 4 εγγραφές σας.