IDENTITY (Function) (Transact-SQL)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure 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.
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)
