Compartilhar via


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

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceWarehouse no Microsoft FabricBanco de dados SQL no Microsoft Fabric

IDENTITY é usado apenas em uma SELECT instrução com uma cláusula de tabela INTO para inserir uma coluna de identidade em uma 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 incrementado automaticamente, que possa ser usado em várias tabelas ou ser chamado de aplicativos, sem referenciar tabelas, consulte Números de Sequência.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

data_type

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

semente

O valor inteiro a ser atribuído à primeira linha da tabela. A cada linha seguinte é atribuído o próximo valor de identidade, que é igual ao ultimo valor IDENTITY mais o valor de increment. Se seed nem increment for especificado, ambos usarão 1 como padrão.

incremento

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

column_name

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

Tipos de retorno

Retorna o mesmo que data_type.

Comentários

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 destas 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, você não pode especificar seed nem increment, pois esses valores são gerenciados automaticamente para fornecer inteiros únicos. BIGINT IDENTITY é tudo o que é necessário para uma definição de coluna em uma CREATE TABLE instrução. Para mais informações, veja CRIAR TABELA (Transact-SQL), IDENTIDADE (Propriedade) e IDENTIDADE no Fabric Data Warehouse.

Exemplos

O exemplo a seguir insere todas as linhas da Contact tabela do banco de dados AdventureWorks2025 em uma nova tabela chamada NewContact. A IDENTITY função é usada para iniciar 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