Dipecahkan: penyisipan identitas pada server sql

Pembaharuan Terakhir: 09/13/2023

Sisipkan Identitas adalah atribut SQL Server yang digunakan saat Anda ingin menyisipkan nilai eksplisit ke dalam kolom identitas dalam tabel. Di SQL Server, secara default, Anda tidak bisa memasukkan nilai Anda sendiri ke kolom identitas. Namun, dalam keadaan tertentu, Anda ingin memasukkan nilai Anda sendiri ke kolom identitas dan saat itulah Sisipan Identitas masuk.

Sisipan Identitas memungkinkan Anda melakukan ini. Sebelum memahami cara menggunakan Identity Insert, mari kita pahami dulu apa itu kolom identitas.

CREATE TABLE Employee
(
    ID int IDENTITY(1,1),
    Name varchar(255),
    Salary decimal
)

Di sini, ID adalah kolom identitas. Saat Anda menyisipkan catatan baru, SQL Server otomatis menambah ID.

Masalah

Misalkan Anda memigrasikan data dari database lama. Di database lama, ada ID yang dipertahankan. Anda juga memiliki struktur serupa di database baru. Sekarang, saat bermigrasi, Anda ingin tetap menggunakan ID lama yang sama. Namun SQL Server tidak mengizinkannya secara default karena ID adalah kolom identitas.

Solusi untuk Masalah

Inilah saatnya Anda dapat menggunakan Sisipan Identitas. Berikut panduan langkah demi langkah tentang cara menggunakannya.

Langkah-langkah Menggunakan Sisipan Identitas

Pertama, Anda perlu mengatur Sisipan Identitas AKTIF untuk tabel spesifik tersebut seperti yang ditunjukkan di bawah ini:

SET IDENTITY_INSERT Employee ON

Setelah Anda MENGAKTIFKANnya, Anda dapat memasukkan nilai Anda sendiri ke kolom identitas.

Sekarang, masukkan nilai-nilai Anda sendiri.

INSERT INTO Employee(ID, Name, Salary)
VALUES(1, 'John', 50000)

Kemudian, Anda perlu menyetel Identity Insert OFF untuk tabel tersebut seperti yang ditunjukkan di bawah ini:

SET IDENTITY_INSERT Employee OFF

Fungsi yang Terlibat

SET IDENTITY_INSERT adalah fungsi di SQL Server yang digunakan untuk memasukkan nilai eksplisit ke dalam kolom identitas.

Peringatan singkat: harap tangani fitur ini dengan hati-hati karena dapat merusak identitas rangkaian, oleh karena itu fitur ini harus digunakan dengan bijaksana.

Perpustakaan Serupa

Meskipun SQL Server menggunakan IDENTITY_INSERT untuk mengelola kolom identitas, DBMS yang berbeda memiliki konsep serupa. Misalnya, atribut MySQL AUTO_INCREMENT juga memungkinkan untuk mengatur bidang kenaikan otomatis dalam database. Fungsionalitas setara Oracle disediakan oleh kombinasi urutan dan pemicu.

Sisipkan Identitas adalah fitur canggih yang disediakan oleh SQL Server. Ini sangat berguna saat melakukan tugas seperti migrasi data atau menyalin data dari satu database ke database lainnya. Namun penggunaannya harus hati-hati untuk menghindari penyalahgunaan dan kesalahan integritas data. Teruslah menjelajah dan membuat kode!

Pos terkait: