Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengurus IDENTITY_INSERT dalam SQL Server 2008?

Bagaimana untuk Mengurus IDENTITY_INSERT dalam SQL Server 2008?

Linda Hamilton
Linda Hamiltonasal
2025-01-09 08:46:44868semak imbas

How to Manage IDENTITY_INSERT in SQL Server 2008?

Mengawal IDENTITY_INSERT dalam SQL Server 2008

Memasukkan data ke dalam jadual dengan lajur identiti dalam SQL Server 2008 kadangkala memerlukan mengatasi penjanaan nilai identiti automatik. Mencuba memasukkan terus dengan nilai yang ditentukan apabila IDENTITY_INSERT dimatikan akan mengakibatkan ralat.

Untuk memasukkan nilai eksplisit, anda perlu mendayakan IDENTITY_INSERT buat sementara waktu. Ini dilakukan menggunakan arahan T-SQL berikut:

<code class="language-sql">SET IDENTITY_INSERT DatabaseName.SchemaName.TableName ON;</code>

Gantikan DatabaseName, SchemaName dan TableName dengan pangkalan data, skema dan nama jadual anda masing-masing.

Kini anda boleh memasukkan data dengan nilai yang ditentukan untuk lajur identiti:

<code class="language-sql">INSERT INTO YourTable (IdentityColumn, Column2, Column3, ...)
VALUES (YourIdentityValue, Value2, Value3, ...);</code>

Yang penting, sentiasa ingat untuk melumpuhkan IDENTITY_INSERT selepas sisipan anda selesai:

<code class="language-sql">SET IDENTITY_INSERT YourTable OFF;</code>

Gagal mematikan IDENTITY_INSERT boleh menyebabkan ketidakkonsistenan dan ralat.

Sebagai alternatif, anda boleh mengurus tetapan ini melalui SQL Server Management Studio (SSMS). Cari jadual anda dalam Object Explorer, klik kanan, pilih "Properties," navigasi ke tab "Identity Specification" dan tandakan "Allow IDENTITY_INSERT." Walau bagaimanapun, ingat ini adalah GUI yang setara dengan arahan T-SQL; mekanisme asas tetap sama. Kawalan T-SQL langsung menawarkan lebih fleksibiliti program.

Atas ialah kandungan terperinci Bagaimana untuk Mengurus IDENTITY_INSERT dalam SQL Server 2008?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn