Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Používá se pouze v příkazu SELECT s klauzulí tabulky INTO k vložení sloupce identity do nové tabulky. I když je to podobné, funkce IDENTITY není vlastnost IDENTITY, která se používá s CREATE TABLE a ALTER TABLE.
Poznámka:
Pokud chcete vytvořit automaticky inkrementující číslo, které lze použít ve více tabulkách nebo které lze volat z aplikací bez odkazování na libovolnou tabulku, podívejte se na pořadová čísla.
Syntaxe
IDENTITY (data_type [ , seed , increment ] ) AS column_name
Argumenty
data_type
Je datový typ sloupce identity. Platné datové typy pro sloupec identity jsou všechny datové typy kategorie celočíselného datového typu, s výjimkou datového typu bit nebo desetinného datového typu.
semeno
Je celočíselná hodnota, která se má přiřadit prvnímu řádku tabulky. Každému dalšímu řádku se přiřadí další hodnota identity, která se rovná poslední hodnotě IDENTITY a vyšší hodnotě. Pokud není zadáno žádné počáteční ani přírůstkové , oba výchozí hodnoty jsou 1.
přírůstek
Je celočíselná hodnota, která se má přidat k počáteční hodnotě po sobě jdoucích řádků v tabulce.
column_name
Je název sloupce, který se má vložit do nové tabulky.
Návratové typy
Vrátí stejnou hodnotu jako data_type.
Poznámky
Vzhledem k tomu, že tato funkce vytvoří sloupec v tabulce, musí být název sloupce zadán v seznamu výběr jedním z následujících způsobů:
--(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;
Příklady
Následující příklad vloží všechny řádky z tabulky z Contact
databáze AdventureWorks2022 do nové tabulky s názvem NewContact
. Funkce IDENTITY se používá ke spuštění identifikačních čísel na 100 místo 1 v NewContact
tabulce.
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
Viz také
VYTVOŘIT TABULKU (Transact-SQL)
@@IDENTITY (Transact-SQL)
IDENTITY (vlastnost) (Transact-SQL)
SELECT @local_variable (Transact-SQL)
DBCC CHECKIDENT (Transact-SQL)
sys.identity_columns (Transact-SQL)