Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como obter valores de coluna de identidade sem mencionar o nome da coluna de identidade em Select - SQL Server / T-SQL Tutorial Part 46

Cenário:

Você deu uma olhada rápida em Tabela e Colunas no SQL Server, mas não conseguiu descobrir se a Propriedade de Identidade está habilitada em uma das colunas. Você não deseja usar tabelas do sistema para descobrir o nome da coluna se a identidade estiver habilitada ou não, mas deseja obter o nome da coluna com dados. Como você faria isso?


Solução:

Você pode usar $Identity em seu select, que retornará todos os valores para a coluna identity.

Digamos que temos uma tabela customer com alguns registros.

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)
 
 
 
Para obter a coluna de identidade com dados, você pode usar a sintaxe abaixo

Selecione $identity de SchemaName.TableName

Para obter a coluna de identidade com valores de nossa tabela dbo.Customer, nós pode usar o script abaixo

Select $Identity from dbo.Customer
 Veremos os resultados abaixo.

Como obter o nome e os valores da coluna de identidade sem usar tabelas do sistema no SQL Server


Demonstração de vídeo:obtenha valores da coluna de identidade sem mencionar o nome da coluna de identidade em Selecionar