IDENTITY (funzione) (Transact-SQL)
Viene utilizzata solo in istruzioni SELECT che includono una clausola INTO table per l'inserimento di una colonna Identity in una nuova tabella.
Pur essendo simili, la funzione IDENTITY e la proprietà IDENTITY utilizzata con CREATE TABLE e ALTER TABLE non sono equivalenti.
Convenzioni della sintassi Transact-SQL
Sintassi
IDENTITY (data_type [ , seed , increment ] ) AS column_name
Argomenti
- data_type
Tipo di dati della colonna Identity. 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.
- seed
Valore integer 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à utilizzato il valore predefinito 1 per entrambi.
- increment
Valore integer da aggiungere al valore seed per le righe successive della tabella.
- column_name
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, 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
Esempi
Nell'esempio seguente vengono inserite tutte le righe della tabella Contact
del database AdventureWorks
in una nuova tabella denominata NewContact
. La funzione IDENTITY viene utilizzata per assegnare i numeri di identificazione nella tabella NewContact
a partire da 100 anziché da 1.
USE AdventureWorks;
GO
IF OBJECT_ID (N'Person.NewContact', N'U') IS NOT NULL
DROP TABLE Person.NewContact;
GO
ALTER DATABASE AdventureWorks SET RECOVERY BULK_LOGGED;
GO
SELECT IDENTITY(smallint, 100, 1) AS ContactNum,
FirstName AS First,
LastName AS Last
INTO Person.NewContact
FROM Person.Contact;
GO
ALTER DATABASE AdventureWorks SET RECOVERY FULL;
GO
SELECT ContactNum, First, Last FROM Person.NewContact;
GO
Vedere anche
Riferimento
CREATE TABLE (Transact-SQL)
@@IDENTITY (Transact-SQL)
IDENTITY (proprietà) (Transact-SQL)
SELECT @local\_variable (Transact-SQL)
Altre risorse
Utilizzo delle funzioni di sistema