go backsqlschool blogs list

List all IDENTITY Columns in your database

by Antonios Chatzipavlis

Συνεχίζοντας από το τελευταίο μου άρθρο σήμερα θα σας παρουσιάσω ακόμα ένα metadata query με το οποίο θα μπορώ να γνωρίζω τα tables που έχουν IDENTITY column, το data type που έχουν αυτές οι columns όπως επίσης από που ξεκινάνε (seed) πως μεγαλώνει η τιμή του (increment) και ποια είναι η τρέχουσα τιμή του.

Το παρακάτω metadata query μπορείτε να καταναλώστε ελεύθερα σε όλες τις εκδόσεις του SQL Server καθώς έχω φροντίσει να χρησιμοποιήσω τα information_schema views και όχι τα system views που στο πέρασμα των εκδόσεων έχουν μικρές ή μεγάλες αλλαγές.

Φυσικά αν κάποιος θέλει περισσότερες πληροφορίες μπορεί να χρησιμοποιήσει απευθείας τα system views αλλά ίσως να αυτό που θα φτιάξει σε μια έκδοση να μην δουλεύει σε επόμενη ή προηγούμενη έκδοση.
select 
        TABLE_SCHEMA
,        TABLE_NAME
,        COLUMN_NAME
,        DATA_TYPE
,        IDENT_SEED(TABLE_SCHEMA+'.'+TABLE_NAME) AS SEED_VALUE              
,        IDENT_INCR(TABLE_SCHEMA+'.'+TABLE_NAME) AS INCR_VALUE                  
,        IDENT_CURRENT(TABLE_SCHEMA+'.'+TABLE_NAME) AS CURRENT_VALUE
from INFORMATION_SCHEMA.COLUMNS 
where COLUMNPROPERTY(object_id(TABLE_SCHEMA+'.'+TABLE_NAME),COLUMN_NAME,'IsIdentity')  = 1
ORDER BY 1,2
results
Ημερομηνία: 16 November 2015 11:09
Αξιολόγηση:
Κατηγορίες:
Tags:
Share it:

Αφήστε το σχόλιο σας - Leave your comment

Τα σχόλια έχουν κλείσει.
Επιτρέπονται μόνο τα σχόλια από τα μέλη του SqlSchool.gr.


newsletter subscription

Εάν επιθυμείτε να λαμβάνετε ενημέρωση από εμάς, δώστε μας το e-mail σας.
PASS chapter logo
Official Professional Association for SQL Server (PASS) chapter for Greece
Join to PASS