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

从SELECT插入但更改一列?

谭志用
2023-03-14
问题内容

想知道是否有一种方法可以将一行中的一行插入另一张表中,但一列除外?

对于有限的列数,这当然很容易,但是当列数增加时,列出所有列会很麻烦。

我在想以下方面的事情:

Insert into table
select * replace col1 with current date
from table
where yada yada yada

一种可能是复制一行并执行和更新,但是由于索引或其他原因,这不是一种选择。

有任何想法吗?

编辑:这是DB2 v10,但问题出在纯出于好奇。只是想知道是否有可能…


问题答案:

使用Oracle

DECLARE
CURSOR CUR_D IS
  SELECT *
  FROM TABLE
  WHERE id = some id;
ROW_D CUR_D%ROWTYPE;

BEGIN
  OPEN CUR_D;
  FETCH CUR_D INTO ROW_D;
  CLOSE CUR_D;

  ROW_D.column := 'some data';

  INSERT INTO some table
  VALUES ROW_D;

END;
/


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

  • 问题内容: 我有一个查询,使用选择插入: 是否可以仅为插入内容选择“名称,位置”,并将gid设置为查询中的其他内容? 问题答案: 是的,绝对可以,但是请检查您的语法。 您可以放置与其位置相同类型的常量,而不只是1。而且,我只是弥补了价值。

  • 问题内容: 我正在尝试INSERT INTO使用另一个表的输入创建一个表。尽管对于许多数据库引擎来说这是完全可行的,但是我似乎总是很难记住当今SQL引擎的正确语法(MySQL,Oracle,SQL Server,Informix和DB2)。 是否有来自SQL标准(例如SQL-92)的Silver-bullet语法,该语法可让我插入值而无需担心基础数据库? 问题答案: 尝试: 这是标准的ANSI S

  • 问题内容: 可以说在我的代码中我有用户名和一个值。现在,我需要将其保存在数据库中,但首先需要获取与该用户名相对应的ID,因为此表以pk / fk链接到users表。我该怎么做?我知道您可以执行INSERT(blah)SELECT等操作,但是看起来像是直接复制,我需要将SELECT的结果与fk列一起插入值。 用户表:[UserID(pk),用户名] 阿凡达表:[UserID(fk),AvatarUR

  • 问题内容: 使用插入到触发(选择* …) 我正在尝试。 不起作用… 这项工作。 Trigger 问题答案: 这项工作。 因此,如果适合您,请尝试以下操作: 如果要从另一张表中选择一个或多个行,则必须使用以下语法:

  • 本文向大家介绍MySQL INSERT INTO SELECT导致从另一张表一次插入多行,包括了MySQL INSERT INTO SELECT导致从另一张表一次插入多行的使用技巧和注意事项,需要的朋友参考一下 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是创建第二个表的查询。 以下是执行INSERT INTO SEL