IDENTITY (Funkcja) (Transact-SQL)

Dotyczy do:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMagazyn w Microsoft FabricBaza danych SQL w Microsoft Fabric

Używaj IDENTITY tylko w SELECT instrukcji z klauzulą INTO table , aby dodać kolumnę tożsamościową do nowej tabeli. Chociaż funkcja jest IDENTITY podobna, nie jest taka sama jak właściwość IDENTITY , której używamy z CREATE TABLE i ALTER TABLE.

Uwaga / Notatka

Aby stworzyć automatycznie rosnącą liczbę, którą możesz używać w wielu tabelach lub wywoływać z aplikacji bez odwoływania się do żadnej tabeli, zobacz Numery Sekwencyjne.

Transact-SQL konwencje składni

Składnia

Syntax for SQL Server, Azure SQL Database, Azure SQL Managed Instance, SQL database in Fabric:

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

Składnia dla Fabric Data Warehouse:

IDENTITY ( data_type ) AS column_name  

Argumenty (w programowaniu)

data_type

Typ danych kolumny tożsamości. Prawidłowe typy danych dla kolumny tożsamościowej to dowolne typy danych z kategorii całkowitoliczbowych , z wyjątkiem typu danych bitowych lub dziesiętnych .

nasienie

Wartość całkowita przypisana do pierwszego wiersza w tabeli. Każdy kolejny wiersz otrzymuje kolejną wartość identyczną, która jest ostatnią IDENTITY wartością plus wartość przyrostu . Jeśli nie określisz seed ani inkrementu, oba domyślnie ustawiają się na 1.

wzrost

Wartość całkowita do wartości seed dla kolejnych wierszy w tabeli.

column_name

Nazwa kolumny do wstawienia do nowej tabeli.

Typy zwracane

Zwraca to samo co data_type.

Uwagi

Ponieważ ta funkcja tworzy kolumnę w tabeli, musisz określić nazwę kolumny w liście select na 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;  

Wsparcie w Microsoft Fabric Data Warehouse

W Fabric Data Warehouse nie możesz określić seedincrement wartości, ponieważ system automatycznie zarządza tymi wartościami, dostarczając unikalne liczby całkowite. Dla definicji kolumny w CREATE TABLE instrukcji wystarczy użyć BIGINT IDENTITY. Więcej informacji można znaleźć pod adresemCREATE TABLE (Transact-SQL) IDENTITY (Własność) oraz IDENTITY w Fabric Data Warehouse.

Przykłady

Poniższy przykład wstawia wszystkie wiersze z tabeli Contact w bazie AdventureWorks2025 do nowej tabeli o nazwie NewContact. Funkcja IDENTITY ustawia numery identyfikacyjne tak, aby zaczynały się od 100 zamiast 1 w tabeli NewContact .

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