Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημέρα σε όλους,

 

Έχω 2 ΟΛΟΙΔΙΟΥΣ πίνακες σε μία βάση και ο ένας είναι άδειος. Εάν θέλω προγραμματιστικά να μεταφέρω εγγραφές από τον έναν στον άλλο, μπορώ να χρησιμοποιήσω το παρακάτω query?

 

INSERT INTO A(*)

SELECT * FROM B

 

Ή πρέπει να βάλω στην θέση του αστερίσκου τα ακριβή πεδία (όλα)?

Ο αστερίσκος, εφόσον πρόκειται για ίδιους πίνακες, δεν κάνει την αντιπαραβολή μόνος του?

 

Ευχαριστώ πολύ.

Δημοσ.

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

 

Μπορείς να κάνεις αυτό που θέλεις απλά με INSERT INTO A SELECT * FROM B. Όπως μπορείς να δεις και στο manual, η αναφορά σε συγκεκριμένα columns στο INSERT είναι προαιρετική.

Δημοσ.

>
DELETE A
SET IDENTITY_INSERT A ON
INSERT INTO A SELECT * FROM B
SET IDENTITY_INSERT A OFF

 

...για να καλύψεις και την περίπτωση που έχεις identity field.

 

Καλημέρα σε όλους,

 

Έχω 2 ΟΛΟΙΔΙΟΥΣ πίνακες σε μία βάση και ο ένας είναι άδειος. Εάν θέλω προγραμματιστικά να μεταφέρω εγγραφές από τον έναν στον άλλο, μπορώ να χρησιμοποιήσω το παρακάτω query?

 

INSERT INTO A(*)

SELECT * FROM B

 

Ή πρέπει να βάλω στην θέση του αστερίσκου τα ακριβή πεδία (όλα)?

Ο αστερίσκος, εφόσον πρόκειται για ίδιους πίνακες, δεν κάνει την αντιπαραβολή μόνος του?

 

Ευχαριστώ πολύ.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...