当前位置: 首页 > 面试题库 >

如何将多个带有序列值的行插入到oracle中?

赏航
2023-03-14
问题内容

我知道,如果我在此答案中使用语法,则可以使用一条语句插入多行。

但是,我要插入的值之一取自一个序列,即

insert into TABLE_NAME
(COL1,COL2)
select MY_SEQ.nextval,'some value' from dual
union all
select MY_SEQ.nextval,'another value' from dual
;

如果尝试运行它,则会收到ORA-02287错误。有什么办法解决这个问题,还是我应该只使用很多INSERT语句?

编辑:
如果我必须为序列以外的所有其他列指定列名,那么我会失去原来的简洁性,所以这是不值得的。在这种情况下,我将只使用多个INSERT语句。


问题答案:

这有效:

insert into TABLE_NAME (COL1,COL2)
select my_seq.nextval, a
from
(SELECT 'SOME VALUE' as a FROM DUAL
 UNION ALL
 SELECT 'ANOTHER VALUE' FROM DUAL)


 类似资料:
  • 批量订单 Purchorder 我已经试了一个星期了。我有这两个表,batchporder和purchord在batchporder表中,我需要插入一行,并获得传递给purchord插入的主id。在purchord中,我需要插入多行,因此我使用了insert\u batch。 控制器 模型 错误1 遇到PHP错误严重性:警告 消息:array_keys()要求参数1为数组,字符串为给定值 文件名:

  • 在本教程中将学习如何使用Oracle 语句将多行插入到一个或多个表中。 在之前的教程中,我们已经学习了如何在表中插入一行。 但是,有时我们可能希望将多行插入到一个或多个表中。 在这种情况下,就可以使用Oracle 语句,该语句也被称为多项式插入语句。 Oracle提供了两种类型的多项式插入语句:无条件的和有条件的。 1. 无条件的Oracle INSERT ALL语句 将多行插入到表中,要将多行插

  • 问题内容: 我想从select语句插入到表中,但是,从select语句返回3列,并且该表有4列,我想为额外列中的所有行添加0。谁能给我一个示例SQL查询吗? 谢谢! 问题答案: 只需在您的选择中添加“ 0”即可。

  • 问题内容: 基本上我想运行以下查询: 它不起作用,因为“此处不允许序列号” SQL错误。我该怎么写,这样Oracle才能让我做我想做的事? 问题答案: 假设您要在使用序列生成密钥之前对数据进行分组,这听起来像您想要的是

  • 在一个Intranet站点上,我正在将相当多的图像从文件系统移动到MySQL中,并编写了一个小函数来提供帮助。没有错误,但插入的图像也没有错误,因此我需要帮助找出如何在不加载_FILE()的情况下执行此操作,因为它需要更改文件夹和文件权限,而我无法这样做。 请注意,有必要查询相册表,以便将相册表中的主键与图像一起插入,以便显示相册的程序知道要加载哪个图像。 它被称为: 图片表中没有太多内容,但这里

  • 我在数据库中有一个表: > < li> 用户角色(字典) id 名称(管理员、用户…) 用户登录 Id 电子邮件 密码 用户简介 Id 名字 姓氏 用户 Id IdUserLogin(FK) IdUserRole(FK) 标识用户配置文件(FK) 如何将值插入上述三个表? 我尝试了这样的东西: 控制器: JSP页面: