Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Data warehouse in Microsoft Fabric
Database SQL di Microsoft Fabric
Usa IDENTITY solo in un'istruzione SELECT con una INTO table clausola per aggiungere una colonna identità a una nuova tabella. Sebbene simile, la IDENTITY funzione non è la stessa della IDENTITY proprietà che usi con CREATE TABLE e ALTER TABLE.
Nota
Per creare un numero che si incrementa automaticamente e che puoi usare in più tabelle o chiamare da applicazioni senza fare riferimento a nessuna tabella, vedi Numeri di sequenza.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
Sintassi per SQL Server, database SQL di Azure, Istanza gestita di SQL di Azure, database SQL in Fabric:
IDENTITY ( data_type [ , seed , increment ] ) AS column_name
Sintassi per Fabric Data Warehouse:
IDENTITY ( data_type ) AS column_name
Argomenti
data_type
Il tipo di dato della colonna identità. I tipi di dati validi per una colonna identità sono qualsiasi tipo di dato nella categoria dei tipi dati interi , eccetto il tipo di dato bit o il tipo di dato decimale .
seme
Il valore intero da assegnare alla prima riga della tabella. Ogni riga successiva ottiene il valore identitario successivo, che è l'ultimo IDENTITY valore più il valore incrementale . Se non specifichi seed o incremento, entrambi sono impostati di default a 1.
Aumento
Il valore intero da aggiungere al valore seed per le righe successive della tabella.
column_name
Il nome della colonna da inserire nella nuova tabella.
Tipi restituiti
Restituisce lo stesso tipo dell'argomento data_type.
Osservazioni:
Poiché questa funzione crea una colonna in una tabella, devi specificare un nome per la colonna nella lista di selezione in uno dei seguenti modi:
--(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;
Supporto in Microsoft Fabric Data Warehouse
In Fabric Data Warehouse, non puoi specificare seed i valori di or increment perché il sistema gestisce automaticamente questi valori per fornire interi unici. Per una definizione di colonna in un'istruzione CREATE TABLE , basta usare BIGINT IDENTITY. Per maggiori informazioni, vediCREATE TABLE (Transact-SQL) IDENTITY (Proprietà) e IDENTITY in Fabric Data Warehouse.
Esempi
Il seguente esempio inserisce tutte le righe della Contact tabella nel database AdventureWorks2025 in una nuova tabella chiamata NewContact. La IDENTITY funzione imposta i numeri di identificazione per partire da 100 invece che da 1 nella NewContact tabella.
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