ฉันจะแทรกแถวเริ่มต้นได้อย่างไร


11

ถ้าฉันสร้างตารางที่มีคอลัมน์ข้อมูลประจำตัวเป็นคีย์หลักและคอลัมน์อื่น ๆ ทั้งหมดมีค่าเริ่มต้นตัวอย่างเช่น

create table rr (id int identity(1,1) primary key, dt datetime default getdate())

คำตอบ:


22

เพื่อแทรกแถวเดียว

INSERT INTO RR DEFAULT VALUES;

เป็นไปได้ที่จะแทรกค่าเริ่มต้นหลายแถวด้วย (ab) โดยใช้ MERGE

MERGE INTO RR
USING (SELECT TOP 1000 *
       FROM   master..spt_values) T
ON 1 = 0
WHEN NOT MATCHED THEN
  INSERT
  DEFAULT VALUES; 

5
สำหรับหลายแถวคุณสามารถใช้GO 1000- ไม่ใช่สิ่งเดียวกัน แต่รบกวนน้อยกว่าพยายามจดจำไวยากรณ์นั้น :-)
Aaron Bertrand

ใช่GO 1000ดูเหมือนจะง่ายกว่ามาก ขอบคุณสำหรับสิ่งนั้น
jrara
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.