Oracle 插入到填充的表中

Oracle 插入到填充的表中,oracle,Oracle,我正在从事一个oracle项目,但我遇到了这个错误,无法解决它。所以我创建了一个表“Drugs”,我有4列。它们如下:(D_id,D_name,D_Date,D_Exp,D_price)。我填充了前3列,但忘了用值填充“D_price”列 所以,现在当我再次尝试向其中插入数据时: insert into drugs(d_id, d_price) values(50, 400) 给我这个错误: ORA-00001:违反了唯一约束(PARTH.SYS_C007100) 我知道是什么导致了上面的错误

我正在从事一个oracle项目,但我遇到了这个错误,无法解决它。所以我创建了一个表“Drugs”,我有4列。它们如下:(D_id,D_name,D_Date,D_Exp,D_price)。我填充了前3列,但忘了用值填充“D_price”列

所以,现在当我再次尝试向其中插入数据时:

insert into drugs(d_id, d_price) values(50, 400)
给我这个错误: ORA-00001:违反了唯一约束(PARTH.SYS_C007100)

我知道是什么导致了上面的错误,我的问题是,我如何才能绕过这个错误,并在我的表中插入与“D_id”匹配的价格

所以,我试过这个:

insert into drugs(d_price) values(400)
where d_id = 50;
给我这个错误:ORA-00933:SQL命令没有正确结束


还是输了。任何帮助都会很好,谢谢

因为您的表已经填充,并且在向表中插入数据时遗漏了要填充的D_PRICE。现在是更新记录的时候了,请使用以下SQL语句:

update drugs set d_price = 400
where d_id = 50;

真管用!是否有一种方法可以同时进行多个更新?是的,您可以使用更新药物集d_price=decode(d_id,50400,60500,70800),其中d_id在(50,60,70)。。。。。。。。。或者,如果更新的值是静态的,您可以使用case语句;或者,您可以使用join-in-update。如果信息对您有用,您可以标记已回答的问题