Di SQL Server, Anda dapat menggunakan IDENTITY()
berfungsi untuk menyisipkan kolom identitas ke dalam tabel baru.
Namun, fungsi ini jangan disamakan dengan IDENTITY()
properti , yang digunakan dengan CREATE TABLE
dan ALTER TABLE
pernyataan.
IDENTITY()
fungsi hanya digunakan dalam SELECT
pernyataan dengan INTO
klausa tabel. Jadi Anda bisa menggunakannya saat mentransfer data dari satu tabel ke tabel lain, misalnya.
Sintaks
Sintaksnya seperti ini:
IDENTITY (data_type [ , seed , increment ] ) AS column_name
tipe_data argumen menentukan tipe data kolom identitas. Tipe data yang valid adalah semua tipe data dari kategori tipe data integer, kecuali untuk bit dan desimal .
benih adalah nilai yang digunakan untuk baris pertama yang dimuat ke dalam tabel.
kenaikan adalah nilai tambahan yang ditambahkan ke nilai identitas baris sebelumnya yang dimuat.
nama_kolom argumen memberikan nama kolom identitas yang ingin Anda buat.
Contoh 1 – Penggunaan Dasar
Berikut ini contoh kode dasar.
SELECT IDENTITY(int, 101, 10) AS pet_id, PetName AS pet_name INTO BestFriends FROM Pets;
Ini memilih data dari Hewan Peliharaan tabel dan memasukkannya ke dalam tabel baru bernama Teman Terbaik . Kolom pertama adalah kolom identitas yang saya buat dengan IDENTITY()
fungsi. Dalam hal ini saya mengatur seed menjadi 101 dan increment menjadi 10. Saya menyebut kolom itu pet_id .
Saya memanggil kolom kedua pet_name , dan saya mengisinya dari kolom bernama PetName .
Inilah Hewan Peliharaan tabel terlihat seperti:
CREATE TABLE Pets ( PetId int IDENTITY(1,1) PRIMARY KEY, PetName varchar(255) ); INSERT INTO Pets (PetName) VALUES ('Homer'), ('Felix'), ('Ruff'); SELECT * FROM Pet;
Hasil:
+---------+-----------+ | PetId | PetName | |---------+-----------| | 1 | Homer | | 2 | Felix | | 3 | Ruff | +---------+-----------+
Dan inilah Teman Terbaik tabel terlihat seperti setelah mentransfer data:
SELECT * FROM BestFriends;
Hasil:
+----------+------------+ | pet_id | pet_name | |----------+------------| | 101 | Homer | | 111 | Felix | | 121 | Ruff | +----------+------------+
Jadi nama hewan peliharaan tetap sama, tetapi kolom identitas berisi nilai yang berbeda (karena saya menggunakan IDENTITY(int, 101, 10)
, dibandingkan dengan IDENTITY(1,1)
untuk Hewan Peliharaan tabel).