Partilhar via


IDENTIDADE (função) (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceArmazém no Microsoft FabricBase de dados SQL no Microsoft Fabric

IDENTITY é usado apenas numa SELECT instrução com uma cláusula de tabela INTO para inserir uma coluna de identidade numa nova tabela. Embora semelhante, a IDENTITY função não é a IDENTITY propriedade usada com CREATE TABLE e ALTER TABLE.

Observação

Para criar um número de incremento automático que pode ser usado em várias tabelas ou que pode ser chamado de aplicativos sem fazer referência a nenhuma tabela, consulte Números de sequência.

Transact-SQL convenções de sintaxe

Sintaxe

IDENTITY (data_type [ , seed , increment ] ) AS column_name  

Argumentos

data_type

O tipo de dados da coluna de identidade. Os tipos de dados válidos para uma coluna de identidade são quaisquer tipos de dados da categoria de tipo de dados inteiro, exceto para o tipo de dados de bit ou tipo de dados decimal .

sementes

O valor inteiro a ser atribuído à primeira linha da tabela. A cada linha subsequente é atribuído o próximo valor de identidade, que é igual ao último valor IDENTITY mais o valor de incremento . Se nem semente nem incremento forem especificados, ambos o padrão será 1.

incremento

O valor inteiro a somar ao valor semente para linhas sucessivas na tabela.

column_name

O nome da coluna que será inserida na nova tabela.

Tipos de devolução

Retorna o mesmo que data_type.

Observações

Como essa função cria uma coluna em uma tabela, um nome para a coluna deve ser especificado na lista de seleção de uma das seguintes maneiras:

--(1)  
SELECT IDENTITY(int, 1,1) AS ID_Num  
INTO NewTable  
FROM OldTable;  

--(2)  
SELECT ID_Num = IDENTITY(int, 1, 1)  
INTO NewTable  
FROM OldTable;  

No Fabric Data Warehouse, não pode especificar seed nem increment, pois estes valores são automaticamente geridos para fornecer inteiros únicos. BIGINT IDENTITY é tudo o que é necessário para uma definição de coluna numa CREATE TABLE instrução. Para mais informações, consulte CREATE TABLE (Transact-SQL), IDENTITY (Property) e IDENTITY no Fabric Data Warehouse.

Exemplos

O exemplo seguinte insere todas as linhas da Contact tabela da base de dados AdventureWorks2025 numa nova tabela chamada NewContact. A IDENTITY função é usada para começar os números de identificação em 100 em vez de 1 na NewContact tabela.

USE AdventureWorks2022;  
GO  
IF OBJECT_ID (N'Person.NewContact', N'U') IS NOT NULL  
    DROP TABLE Person.NewContact;  
GO  
ALTER DATABASE AdventureWorks2022 SET RECOVERY BULK_LOGGED;  
GO  
SELECT  IDENTITY(smallint, 100, 1) AS ContactNum,  
        FirstName AS First,  
        LastName AS Last  
INTO Person.NewContact  
FROM Person.Person;  
GO  
ALTER DATABASE AdventureWorks2022 SET RECOVERY FULL;  
GO  
SELECT ContactNum, First, Last FROM Person.NewContact;  
GO