IDENTITY (Function) (Transact-SQL)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure 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 secara otomatis yang dapat digunakan dalam beberapa tabel atau yang dapat dipanggil dari aplikasi tanpa mereferensikan tabel apa pun, lihat Nomor Urutan.

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

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

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan 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 tipe data bilangan bulat, kecuali untuk jenis data bit , atau jenis data desimal .

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

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

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

Jenis Pengembalian

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 AdventureWorks2012database ke dalam tabel baru yang disebut NewContact. Fungsi IDENTITY digunakan untuk memulai nomor identifikasi pada 100, bukan 1 dalam NewContact tabel.

USE AdventureWorks2012;  
GO  
IF OBJECT_ID (N'Person.NewContact', N'U') IS NOT NULL  
    DROP TABLE Person.NewContact;  
GO  
ALTER DATABASE AdventureWorks2012 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 AdventureWorks2012 SET RECOVERY FULL;  
GO  
SELECT ContactNum, First, Last FROM Person.NewContact;  
GO  

Lihat juga

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