IDENT_INCR (Transact-SQL)
Gibt den inkrementellen Wert (als numeric (**@@**MAXPRECISION,0)) zurück, der beim Erstellen einer Identitätsspalte in einer Tabelle oder Sicht mit Identitätsspalte angegeben wurde.
Transact-SQL-Syntaxkonventionen
Syntax
IDENT_INCR ( 'table_or_view' )
Argumente
- ' table_or_view '
Ein Ausdruck, der die Tabelle oder Sicht angibt, die auf einen gültigen inkrementellen Wert für die Identitätsspalte überprüft werden soll. table_or_view kann eine Zeichenfolgenkonstante in Anführungszeichen, eine Variable, eine Funktion oder ein Spaltenname sein. table_or_view ist vom Datentyp char, nchar, varchar oder nvarchar.
Rückgabetypen
numeric
Ausnahmen
Gibt NULL bei einem Fehler zurück oder wenn ein Aufrufer nicht über Berechtigungen zum Anzeigen des Objekts verfügt.
In SQL Server kann ein Benutzer nur die Metadaten sicherungsfähiger Elemente anzeigen, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Dies bedeutet, dass Metadaten ausgebende integrierte Funktionen, z. B. IDENT_INCR, möglicherweise NULL zurückgeben, wenn dem Benutzer für das Objekt keine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten.
Beispiele
A.Zurückgeben des inkrementellen Werts für eine angegebene Tabelle
Im folgenden Beispiel wird der inkrementelle Wert für die Person.Address-Tabelle in der AdventureWorks-Datenbank zurückgegeben.
USE AdventureWorks2012;
GO
SELECT IDENT_INCR('Person.Address') AS Identity_Increment;
GO
USE AdventureWorks2012;
GO
SELECT IDENT_INCR('Person.Address') AS Identity_Increment;
GO
B.Zurückgeben des inkrementellen Werts aus mehreren Tabellen
Im folgenden Beispiel werden die Tabellen in der AdventureWorks-Datenbank zurückgegeben, die eine Identitätsspalte mit einem inkrementellen Wert enthalten.
USE AdventureWorks2012;
GO
SELECT TABLE_SCHEMA, TABLE_NAME,
IDENT_INCR(TABLE_SCHEMA + '.' + TABLE_NAME) AS IDENT_INCR
FROM INFORMATION_SCHEMA.TABLES
WHERE IDENT_INCR(TABLE_SCHEMA + '.' + TABLE_NAME) IS NOT NULL;
USE AdventureWorks2012;
GO
SELECT TABLE_SCHEMA, TABLE_NAME,
IDENT_INCR(TABLE_SCHEMA + '.' + TABLE_NAME) AS IDENT_INCR
FROM INFORMATION_SCHEMA.TABLES
WHERE IDENT_INCR(TABLE_SCHEMA + '.' + TABLE_NAME) IS NOT NULL;
Dies ist ein Auszug aus dem Resultset.
TABLE_SCHEMA TABLE_NAME IDENT_INCR
------------ ------------------------ ----------
Person Address 1
Production ProductReview 1
Production TransactionHistory 1
Person AddressType 1
Production ProductSubcategory 1
Person vAdditionalContactInfo 1
dbo AWBuildVersion 1
Production BillOfMaterials 1
Siehe auch
Verweis
Systemfunktionen (Transact-SQL)