Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Warehouse no Microsoft Fabric
Banco de dados SQL no Microsoft Fabric
Use IDENTITY apenas em uma SELECT instrução com uma INTO table cláusula para adicionar uma coluna de identidade a uma nova tabela. Embora semelhantes, a IDENTITY função não é a mesma que a IDENTITY propriedade que você usa com CREATE TABLE e ALTER TABLE.
Observação
Para criar um número que incremente automaticamente e que você possa usar em múltiplas tabelas ou chamar de aplicativos sem consultar nenhuma tabela, veja Números de Sequência.
Convenções de sintaxe de Transact-SQL
Sintaxe
Sintaxe para SQL Server, Banco de Dados SQL do Azure, Instância Gerenciada de SQL do Azure, SQL Database em Fabric:
IDENTITY ( data_type [ , seed , increment ] ) AS column_name
Sintaxe para o Fabric Data Warehouse:
IDENTITY ( data_type ) AS column_name
Argumentos
data_type
O tipo de dado da coluna de identidade. Tipos de dados válidos para uma coluna identidade são quaisquer tipos de dados na categoria de tipo inteiro , exceto o tipo de dado bit ou o tipo de dado decimal .
semente
O valor inteiro a ser atribuído à primeira linha da tabela. Cada linha subsequente recebe o próximo valor de identidade, que é o último IDENTITY valor mais o valor de incremento . Se você não especificar seed ou incremento, ambos padrão são 1.
incremento
O valor inteiro a ser somado ao valor semente para linhas sucessivas na tabela.
column_name
O nome da coluna a 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, você deve especificar um nome para a coluna na lista select 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;
Suporte em Microsoft Fabric Data Warehouse
Em Fabric Data Warehouse, você não pode especificar seed valores de or increment porque o sistema gerencia automaticamente esses valores para fornecer inteiros únicos. Para uma definição de coluna em uma CREATE TABLE instrução, você só precisa usar BIGINT IDENTITY. Para mais informações, vejaCREATE TABLE (Transact-SQL) IDENTITY (Propriedade) e IDENTITY em Fabric Data Warehouse.
Exemplos
O exemplo a seguir insere todas as linhas da Contact tabela no banco de dados AdventureWorks2025 em uma nova tabela chamada NewContact. A IDENTITY função define os números de identificação para começarem 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