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.

Icona di collegamento a un argomentoConvenzioni 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

Guida in linea e informazioni

Assistenza su SQL Server 2005