Szenario:
Sie haben einen kurzen Blick auf Tabelle und Spalten in SQL Server geworfen, konnten aber nicht feststellen, ob die Identitätseigenschaft für eine der Spalten aktiviert ist. Sie möchten keine Systemtabellen verwenden, um den Spaltennamen herauszufinden, ob die Identität aktiviert ist oder nicht, sondern den Spaltennamen mit Daten abrufen. Wie würden Sie das machen?Lösung:
Sie können $Identity in Ihrer Auswahl verwenden, die alle Werte für die Identitätsspalte zurückgibt.Nehmen wir an, wir haben eine Tabelle customer mit einigen Datensätzen.
CREATE TABLE Customer ( CustomerId INT Identity(1, 1) ,FirstName VARCHAR(50) ,LastName VARCHAR(50) ,Age SMALLINT ,PhoneNumber CHAR(9) ,DOB DATE ,Gender CHAR(1) )
Um die Identitätsspalte mit Daten zu erhalten, können Sie die folgende Syntax verwendeninsert into dbo.Customer(FirstName,LastName,Age) Values('Aamir','Shahzad',66), ('Raza','M',44)
Wählen Sie $identity aus SchemaName.TableName
Um die Identitätsspalte mit Werten aus unserer dbo.Customer-Tabelle zu erhalten, haben wir kann das folgende Skript verwenden
Select $Identity from dbo.CustomerWir werden unten die Ergebnisse sehen.
So erhalten Sie Identitätsspaltennamen und -werte, ohne Systemtabellen in SQL Server zu verwenden
Video-Demo:Werte der Identitätsspalte abrufen, ohne den Namen der Identitätsspalte in Select zu erwähnen