插入空行

oce*_*oon 5 oracle oracle11g

这太简单了,可能已经有人问过了,但我找不到(如果是这样,我很抱歉问)。

我想在表上插入一个空行,以便我可以通过 ExecuteScalar 获取其 ID(主键,由插入触发器生成)。稍后在我的代码中将数据添加到其中。

我的问题是:是否有特定的插入语法来创建空记录?还是必须使用常规插入语法,例如“INSERT INTO 表(列出所有列)值(每列为空)”?

谢谢你的回答。

更新:在 Oracle 中,插入上的 ExecuteScalar 仅返回 0。最终答案是下面发布的内容的组合。首先,您需要声明一个参数,并使用 RETURNING 获取它。

INSERT INTO TABLENAME (ID) VALUES (DEFAULT) RETURNING ID INTO :parameterName
Run Code Online (Sandbox Code Playgroud)

查看此链接了解更多信息。

Nic*_*nov 3

基本上,为了插入一行,其中所有列的值都是NULL除主列之外的

键列的值,您可以执行一个简单的insert语句:

insert into your_table(PK_col_name)
  values(1);                          -- 1 for instance or null
Run Code Online (Sandbox Code Playgroud)

负责填充主键列的 before insert 触发器将

values覆盖语句子句中的值,insert留下一个

除值外的空记录PK