Bagaimana cara memasukkan dalam tabel dengan hanya kolom IDENTITAS?

14

Diberi tabel dengan hanya kolom IDENTITAS, bagaimana Anda memasukkan baris baru? Saya sudah mencoba yang berikut ini:

INSERT INTO TABLE
(Syntax error)

INSERT INTO TABLE VALUES()
(Syntax error)

INSERT INTO TABLE (Id) VALUES()
(Syntax error)

Saya menguji sesuatu dan hanya perlu kolom IDENTITAS. Ini bukan untuk produksi. Kalau tidak, tabel seperti itu dapat digunakan sebagai generator urutan, di mana tidak ada kolom lain yang diperlukan.

Apocatastasis
sumber

Jawaban:

21

Dari dokumentasi :

DEFAULT VALUES
Memaksa baris baru untuk memuat nilai default yang ditentukan untuk setiap kolom.

Begitu:

INSERT dbo.TABLE DEFAULT VALUES;

Tambahan:

  1. selalu gunakan awalan skema
  2. selalu mengakhiri pernyataan dengan titik koma
Aaron Bertrand
sumber
Menarik, tampaknya menjadi bagian dari SQL2003 (F222) tetapi saya belum pernah melihat konstruksi sebelumnya (INSERT INTO tampaknya diperlukan). Anda belajar sesuatu yang baru setiap hari :-)
Lennart
3

Cara lain adalah menggunakan IDENTITY_INSERT. Dengan begitu Anda dapat menentukan nilai mana yang ingin Anda masukkan secara manual. Seperti:

SET IDENTITY_INSERT TABLE ON ;

INSERT INTO TABLE (ID) VALUES (1), (2) ;

SET IDENTITY_INSERT TABLE OFF ;
Kahn
sumber
0

ini solusinya

Insert into TableName Default values;
select Scope_identity();
Muhammad Jawad
sumber