Προσπαθώ να πάρω πίσω την τιμή-κλειδί μετά από μια εντολή INSERT. Παράδειγμα: Το id είναι μια παραγόμενη τιμή.
INSERT INTO table (name) VALUES('bob');
Τώρα θέλω να πάρω πίσω το id στο ίδιο βήμα. Πώς γίνεται αυτό;
Χρησιμοποιούμε τον Microsoft SQL Server 2008.
Χρησιμοποιήστε την SCOPE_IDENTITY()
για να λάβετε τη νέα τιμή ID
INSERT INTO table (name) VALUES('bob');
SELECT SCOPE_IDENTITY()
Μπορείτε να χρησιμοποιήσετε την scope_identity()
για να επιλέξετε το αναγνωριστικό της γραμμής που μόλις εισαγάγατε σε μια μεταβλητή και στη συνέχεια να επιλέξετε όποιες στήλες θέλετε από αυτόν τον πίνακα όπου το αναγνωριστικό = η ταυτότητα που πήρατε από την scope_identity()
.
Δείτε εδώ τις πληροφορίες του MSDN http://msdn.microsoft.com/en-us/library/ms190315.aspx
Αφού πραγματοποιήσετε μια εισαγωγή σε έναν πίνακα με στήλη ταυτότητας, μπορείτε να ανατρέξετε στο @@IDENTITY για να λάβετε την τιμή: http://msdn.microsoft.com/en-us/library/aa933167%28v=sql.80%29.aspx