Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy do:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Magazyn w Microsoft Fabric
Baza 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