例如,我创建了一个employees表,列名为empid、empname、empjob等。我想添加一个经理编号列,即"mgr_no",所以我用默认null值的alter语句创建了这个列。
现在我的问题是,我在表中已经有50个条目,我想为目前为空或null的mgr_no列输入50个条目。我必须使用update命令50次来填充该列吗?或者有没有一种方法可以在不运行update命令50次加值。
附言:我使用oracle11g,因为它受我老师的限制。
这取决于您是要更新所有(或多个(行,使其具有相同的新mgr_no
值,还是更新为50个不同的值。
如果你需要50个不同的值,那么是的,你必须运行50个UPDATE
s。这很正常,不是问题。
否则,如果您可以对新值进行"分组":默认情况下,UPDATE
语句已经更新了与筛选器匹配的所有行。因此,只需编写UPDATE employees SET mgr_no = 123
就会将所有50名员工设置为具有经理123。实际上,您必须使用WHERE
来限制这种行为。如果您想仅为具有职务accounting
的员工将经理设置为123,则可以使用UPDATE employees SET mgr_no = 123 WHERE emp_job = 'accounting'
。