Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Azure SQL Managed Instance
Azure Synapse Analytics
Armazém no Microsoft Fabric
Base de dados SQL no Microsoft Fabric
Use IDENTITY apenas numa 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 usas com CREATE TABLE e ALTER TABLE.
Observação
Para criar um número que se incremente automaticamente e que possa usar em múltiplas tabelas ou chamar a partir de aplicações sem consultar nenhuma tabela, consulte Números de Sequência.
Transact-SQL convenções de sintaxe
Sintaxe
Sintaxe para SQL Server, Base de Dados SQL do Azure, Azure SQL Managed Instance, SQL Database in 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 dados da coluna de identidade. Os tipos de dados válidos para uma coluna identidade são quaisquer tipos de dados na categoria de tipos de dados inteiros , exceto o tipo de dado bit ou o tipo de dado decimal .
sementes
O valor inteiro a atribuir à primeira linha da tabela. Cada linha subsequente recebe o valor de identidade seguinte, que é o último IDENTITY valor mais o valor de incremento . Se não especificares seed ou incremento, ambos ficam por padrão em 1.
incremento
O valor inteiro a somar ao valor semente para linhas sucessivas na tabela.
column_name
O nome da coluna a inserir na nova tabela.
Tipos de devolução
Retorna o mesmo que data_type.
Observações
Como esta função cria uma coluna numa tabela, deve especificar um nome para a coluna na lista de seleção de uma das seguintes formas:
--(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;
Apoio em Microsoft Fabric Data Warehouse
Em Fabric Data Warehouse, não podes especificar seed valores de or increment porque o sistema gere automaticamente esses valores para fornecer inteiros únicos. Para uma definição de coluna numa CREATE TABLE instrução, só precisa de usar BIGINT IDENTITY. Para mais informações, vejaCREATE TABLE (Transact-SQL) IDENTITY (Propriedade) e IDENTITY em Fabric Data Warehouse.
Exemplos
O exemplo seguinte insere todas as linhas da Contact tabela na base de dados AdventureWorks2025 numa 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