απαιτήσεις: Μια αποθηκευμένη διαδικασία, πρέπει να εισαγάγουμε ένα κομμάτι δεδομένων στους πίνακες Α και Β, όπου η κύρια σχέση ξένου κλειδιού μεταξύ του πίνακα Α και του πίνακα Β, οι στήλες που σχετίζονται με τον πίνακα Β είναι τα πρωτεύοντα κλειδιά του πίνακα Α, πρέπει να εισαγάγουμε την τιμή του πρωτεύοντος κλειδιού του πίνακα Α μετά την ολοκλήρωση της εισαγωγής, πρέπει να λάβουμε την τιμή του πρωτεύοντος κλειδιού του πίνακα Α και, στη συνέχεια, να εισαγάγουμε τα δεδομένα στον πίνακα Β.
Μετά την εισαγωγή μιας εγγραφής, θέλετε να λάβετε αμέσως την τιμή επιστροφής του πρωτεύοντος κλειδιού στο φύλλο δεδομένων της. Αυτό το πρωτεύον κλειδί δημιουργείται αυτόματα.
Αρχικά, δημιουργήστε έναν προσωρινό πίνακα για δοκιμή, ο κώδικας έχει ως εξής:
@@IDENTITY
Μετά την ολοκλήρωση μιας δήλωσης INSERT, SELECT IN ή μαζικής αντιγραφής, η @@IDENTITY περιέχει την τελευταία τιμή αναγνώρισης που παράγεται από αυτήν την πρόταση. Εάν αυτή η πρόταση δεν επηρεάζει κανέναν πίνακα με προσδιορισμένες στήλες, @@IDENTITY επιστρέφει NULL. Εάν εισαχθούν πολλές σειρές, δημιουργούνται πολλές τιμές αναγνωριστικού @@IDENTITY επιστρέφεται η τελευταία τιμή αναγνωριστικού. Εάν αυτή η πρόταση ενεργοποιεί ένα ή περισσότερα εναύσματα που εκτελούν μια λειτουργία εισαγωγής που παράγει μια αναγνωρισμένη τιμή, η κλήση @@IDENTITY αμέσως μετά την εκτέλεση της πρότασης θα επιστρέψει την τελευταία τιμή αναγνώρισης που δημιουργήθηκε από το έναυσμα. Εάν η πρόταση INSERT ή SELECT INTO αποτύχει ή αποτύχει η μαζική αναπαραγωγή ή εάν η συναλλαγή επανέλθει, η τιμή @@IDENTITY δεν επανέρχεται στις προηγούμενες ρυθμίσεις της.
ΕΙΣΉΧΘΗ ΈΞΟΔΟΣ
Για τη συνάρτηση INSERT, μπορείτε να ανατρέξετε στον πίνακα που έχει εισαχθεί για να υποβάλετε ερώτημα σχετικά με τις ιδιότητες της νέας γραμμής
Ο κωδικός δοκιμής έχει ως εξής:
Το αποτέλεσμα έχει ως εξής:
|