Wie kann ich feststellen, ob eine Spalte eine Identitätsspalte in MSSQL 2000?
-
06-07-2019 - |
Frage
Ich möchte dies in Code zu tun, nicht mit ALT + F1.
Lösung
Sie können es auch tun, auf diese Weise:
select columnproperty(object_id('mytable'),'mycolumn','IsIdentity')
Gibt 1 zurück, wenn es sich um eine Identität ist, 0, wenn nicht.
Andere Tipps
sp_help tablename
In der Ausgabe suchen etwas wie folgt aus:
Identity Seed Increment Not For Replication
----------- ------- ------------ ----------------------
userid 15500 1 0
Stellen Sie die WHERE
Klausel anpassen:
select
a.name as TableName,
b.name as IdentityColumn
from
sysobjects a inner join syscolumns b on a.id = b.id
where
columnproperty(a.id, b.name, 'isIdentity') = 1
and objectproperty(a.id, 'isTable') = 1
Als Erweiterung auf @ Blogbeard Antwort
Wenn Sie reine Abfrage und nicht eingebaute Funktionen
select col_name(sys.all_objects.object_id, column_id) as id from sys.identity_columns
join sys.all_objects on sys.identity_columns.object_id = sys.all_objects.object_id
where sys.all_objects.name = 'system_files'
Die Identität ist der Wert, der für die erste Zeile verwendet wird, in die Tabelle geladen.
Es ist ein Microsoft-Artikel, die guten Kenntnisse über Identität bieten kann:
Nun gibt es mehr Möglichkeiten für die Identifizierung, welche Spalte eine Identitätsspalte in einer Tabelle:
- Wir können SQL-Abfrage verwenden: select COLUMN (object_id ( 'mytable'), 'mycolumn', 'IsIdentity')
- Sp_help tablename
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow