Condividi tramite


IDENTITY (funzione) (Transact-SQL)

Si applica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceWarehouse in Microsoft FabricDatabase SQL in Microsoft Fabric

IDENTITY è usato solo in un'istruzione SELECT con una clausola di tabella INTO per inserire una colonna identità in una nuova tabella. Sebbene simile, la IDENTITY funzione non è la IDENTITY proprietà usata con CREATE TABLE e ALTER TABLE.

Nota

Per creare un numero a incremento automatico da usare in più tabelle o da chiamare dalle applicazioni senza fare riferimento ad alcuna tabella, vedere Numeri di sequenza.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

data_type

Il tipo di dato della colonna identità. I tipi di dati validi per una colonna Identity sono tutti i tipi di dati della categoria integer, con l'eccezione di bit e decimal.

seme

Il valore intero da assegnare alla prima riga della tabella. A ogni riga successiva viene assegnato il valore Identity successivo, che corrisponde all'ultimo valore IDENTITY più il valore increment. Se vengono omessi sia seed che increment, verrà usato il valore predefinito 1 per entrambi.

Aumento

Il valore intero da aggiungere al valore seed per le righe successive della tabella.

column_name

Il nome della colonna che deve essere inserita nella nuova tabella.

Tipi restituiti

Restituisce lo stesso tipo dell'argomento data_type.

Osservazioni:

Poiché questa funzione crea una colonna in una tabella, nell'elenco di selezione è necessario specificare un nome per la colonna in uno dei modi seguenti:

--(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;  

In Fabric Data Warehouse, non puoi specificare seed o increment, poiché questi valori sono gestiti automaticamente per fornire interi unici. BIGINT IDENTITY è tutto ciò che è necessario per una definizione di colonna in un'istruzione CREATE TABLE . Per ulteriori informazioni, consulta CREATE TABLE (Transact-SQL), IDENTITY (Property) e IDENTITY in Fabric Data Warehouse.

Esempi

Il seguente esempio inserisce tutte le righe della Contact tabella del database AdventureWorks2025 in una nuova tabella chiamata NewContact. La IDENTITY funzione viene utilizzata per iniziare i numeri di identificazione a 100 invece che a 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