Ich möchte eine Liste von Spalten in SQL Server 2005 erstellen, die Identitätsspalten und ihre entsprechende Tabelle in T-SQL haben.
Die Ergebnisse würden etwa so aussehen:
Tabellenname, Spaltenname
Ich möchte eine Liste von Spalten in SQL Server 2005 erstellen, die Identitätsspalten und ihre entsprechende Tabelle in T-SQL haben.
Die Ergebnisse würden etwa so aussehen:
Tabellenname, Spaltenname
Ein anderer möglicher Weg, dies für SQL Server zu tun, der weniger auf die Systemtabellen angewiesen ist (die sich von Version zu Version ändern können), ist die Verwendung der INFORMATION_SCHEMA-Ansichten:
select COLUMN_NAME, TABLE_NAME
from INFORMATION_SCHEMA.COLUMNS
where COLUMNPROPERTY(object_id(TABLE_SCHEMA+'.'+TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1
order by TABLE_NAME
Beachten Sie, dass ein Problem darin besteht, dass Sie [Name der Datenbank].information_schema.columns angeben, aber von einer anderen Datenbank aus ausführen können ... und dann wird COLUMNPROPERTY mit der falschen Datenbank ausgeführt
Es ist besser so, wenn Sie andere Schemata haben: where COLUMNPROPERTY(object_id(TABLE_SCHEMA+'.'+TABLE_NAME)...
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.