Pour une table telle que:colonnes Introspection IDENTITÉ
create table foo (id int identity primary key)
je voudrais interroger les tables système pour déterminer que id
est en fait une colonne IDENTITY
.
La chose la plus proche que j'ai trouvé:
select tc.max_identity from systabcol tc
join systab t on t.table_id = tc.table_id
where t.table_name = 'foo'
Malheureusement max_identity
est 0
même pour les colonnes qui ne sont pas des identités, et est également 0
des identités qui n'ont pas encore été utilisées. Cela aurait été bien si c'était NULL
pour les non-identités.
Je peux utiliser la fonction GET_IDENTITY
pour vérifier si une table a une colonne IDENTITY
, mais ensuite je perds une valeur d'identité et je ne sais toujours pas de quelle colonne il s'agit.
Toute aide très appréciée, c'est la dernière chose dont j'ai besoin pour la prise en charge SQL Anywhere de base dans DBIx :: Class :: Schema :: Loader dans 0.05002.