Udostępnij za pośrednictwem


IDENTITY (Funkcja) (Transact-SQL)

Dotyczy:SQL ServerAzure SQL Managed Instance

Jest używany tylko w instrukcji SELECT z klauzulą tabeli INTO, aby wstawić kolumnę tożsamości do nowej tabeli. Mimo że funkcja IDENTITY nie jest właściwością IDENTITY używaną z funkcją CREATE TABLE i ALTER TABLE.

Uwaga / Notatka

Aby utworzyć automatycznie zwiększającą się liczbę, która może być używana w wielu tabelach lub może być wywoływana z poziomu aplikacji bez odwoływania się do jakiejkolwiek tabeli, zobacz Numery Sekwencyjne.

Transact-SQL konwencje składni

Składnia

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

Argumenty (w programowaniu)

data_type
To typ danych kolumny tożsamości. Prawidłowe typy danych dla kolumny tożsamości to dowolne typy danych kategorii typu danych całkowitych, z wyjątkiem typu danych bitowych lub typu danych dziesiętnych .

nasienie
Czy wartość całkowita ma zostać przypisana do pierwszego wiersza w tabeli. Każdy kolejny wiersz ma przypisaną następną wartość tożsamości, która jest równa ostatniej wartości IDENTITY oraz wartości przyrostowej . Jeśli nie określono ani inkrementacji, ani inkrementacji , obie wartości domyślne to 1.

wzrost
Jest wartością całkowitą, która ma zostać dodana do wartości inicjowania kolejnych wierszy w tabeli.

column_name
To nazwa kolumny, która ma zostać wstawiona do nowej tabeli.

Typy zwracane

Zwraca to samo co data_type.

Uwagi

Ponieważ ta funkcja tworzy kolumnę w tabeli, nazwa kolumny musi być określona na liście wyboru w jeden z następujących sposobów:

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

Przykłady

Poniższy przykład wstawia wszystkie wiersze z Contact tabeli z bazy danych AdventureWorks2022 do nowej tabeli o nazwie NewContact. Funkcja IDENTITY służy do uruchamiania numerów identyfikacyjnych na 100 zamiast 1 w NewContact tabeli.

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  

Zobacz też

CREATE TABLE (Transact-SQL)
@@IDENTITY (Transact-SQL)
IDENTITY (właściwość) (Transact-SQL)
SELECT @local_variable (Transact-SQL)
DBCC CHECKIDENT (Transact-SQL)
sys.identity_columns (Transact-SQL)