Συνεχίζοντας από το τελευταίο μου άρθρο σήμερα θα σας παρουσιάσω ακόμα ένα 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