将值插入特定行的表中

时间:2015-04-13 16:02:42

标签: sql oracle sql-insert

我希望根据特定行的选择将一些值插入到列中。我有一个包含a,b,c和d列的表。我想在列a = X中将值1,2和3插入到列b,c和d中。我找不到怎么做。

oracle的Toad是我的平台,我正在寻找SQL代码。

3 个答案:

答案 0 :(得分:1)

您可以使用INSERT INTO...SELECT并为插入查询提供条件,例如:

INSERT
INTO table_name (b, c, d)
VALUES (bValue, cValue, dValue)
/* Select Condition */
WHERE a=1

答案 1 :(得分:1)

update mytable set b = 1,c = 2,d = 3 where a = X;

答案 2 :(得分:0)

您可以一次更新一个:

update mytable set b = 1 where a = X;
update mytable set c = 2 where a = X;
update mytable set d = 3 where a = X;

或者一次更新所有内容:

update mytable set b = 1,c = 2,d = 3 where a = X;

或者,假设' a'是一个主键列或唯一索引,只有一行where a = X,如果你只有4列,你想更新其中的3行,你可以删除你的行并重新插入整个行:

delete from mytable where a = X;
insert into mytable values(X, 1, 2, 3);