在PostgreSQL中生成n行NULL

Dan*_* P. 10 postgresql

我有一个看起来像这样的表:

id, integer, Primary Key, not null
name, character varying
created, timestamp without timezone, not null, default: now()
Run Code Online (Sandbox Code Playgroud)

我想生成n行,其中NULL为名称字段.

我知道我能做到:

INSERT INTO
  employee (name)
VALUES
  (NULL),
  (NULL)...
Run Code Online (Sandbox Code Playgroud)

但我更喜欢这样做:

INSERT INTO
  employee (name)
SELECT
  NULL
FROM
  dummy_table_with_n_rows
Run Code Online (Sandbox Code Playgroud)

我可以选择n.

a_h*_*ame 21

INSERT INTO
  employee (name)
SELECT
  NULL 
FROM
  generate_series(1,10000) i;
Run Code Online (Sandbox Code Playgroud)

  • @DanielPatz:不要错过这个功能的变化.有些非常简洁:http://www.postgresql.org/docs/9.2/static/functions-srf.html (3认同)