IDENTITY (Function) (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Hanya digunakan dalam pernyataan SELECT dengan klausa tabel INTO untuk menyisipkan kolom identitas ke dalam tabel baru. Meskipun serupa, fungsi IDENTITY bukan properti IDENTITY yang digunakan dengan CREATE TABLE dan ALTER TABLE.

Catatan

Untuk membuat nomor bertahap otomatis yang dapat digunakan dalam beberapa tabel atau yang dapat dipanggil dari aplikasi tanpa merujuk tabel apa pun, lihat Nomor Urutan.

Konvensi sintaks transact-SQL

Sintaksis

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

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

data_type
Adalah jenis data kolom identitas. Jenis data yang valid untuk kolom identitas adalah jenis data apa pun dari kategori jenis data bilangan bulat, kecuali untuk jenis data bit , atau jenis data desimal .

Benih
Adalah nilai bilangan bulat yang akan ditetapkan ke baris pertama dalam tabel. Setiap baris berikutnya diberi nilai identitas berikutnya, yang sama dengan nilai IDENTITY terakhir ditambah nilai kenaikan . Jika benih atau kenaikan tidak ditentukan, keduanya default ke 1.

Kenaikan
Adalah nilai bilangan bulat untuk ditambahkan ke nilai seed untuk baris berturut-turut dalam tabel.

column_name
Adalah nama kolom yang akan disisipkan ke dalam tabel baru.

Jenis Kembalian

Mengembalikan yang sama seperti data_type.

Keterangan

Karena fungsi ini membuat kolom dalam tabel, nama untuk kolom harus ditentukan dalam daftar pemilihan dengan salah satu cara berikut:

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

Contoh

Contoh berikut menyisipkan semua baris dari Contact tabel dari AdventureWorks2022database ke dalam tabel baru yang disebut NewContact. Fungsi IDENTITY digunakan untuk memulai nomor identifikasi pada 100, bukan 1 dalam NewContact tabel.

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  

Lihat Juga

BUAT TABEL (Transact-SQL)
@@IDENTITY (T-SQL)
IDENTITY (Properti) (Transact-SQL)
SELECT @local_variable (Transact-SQL)
DBCC CHECKIDENT (Transact-SQL)
sys.identity_columns (T-SQL)