Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So erhalten Sie Identitätsspaltenwerte, ohne den Identitätsspaltennamen in Select zu erwähnen – SQL Server / T-SQL-Lernprogramm Teil 46

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)
    )
 
insert into dbo.Customer(FirstName,LastName,Age)
    Values('Aamir','Shahzad',66),
    ('Raza','M',44)
 
 
 
Um die Identitätsspalte mit Daten zu erhalten, können Sie die folgende Syntax verwenden

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.Customer
 Wir 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