如何插入默认行?

Wri*_*ree 11 sql-server

如果我创建一个以标识列作为主键的表,并且所有其他列都有默认值,例如

create table rr (id int identity(1,1) primary key, dt datetime default getdate())
Run Code Online (Sandbox Code Playgroud)

Mar*_*ith 22

插入单行

INSERT INTO RR DEFAULT VALUES;
Run Code Online (Sandbox Code Playgroud)

可以通过(ab)使用插入多行默认值 MERGE

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

  • 对于多行,您也可以使用`GO 1000` - 不完全相同,但比尝试记住该语法要少得多。:-) (5认同)