如何使用oracle中另一个表的计数更新一个表中的字段

时间:2013-08-15 09:32:18

标签: oracle

update aamonday_day  
   set ONE = (select count(*) 
                from aday3import 
               where first= 1 
                 and day_of_the_week like 'MON%') 

没有行更新

然而,当我运行此命令时:

select count(*) 
  from aday3import 
  where first= 1 
    and day_of_the_week like 'MON%'

计数是71

我想用71

更新表aamonday字段ONE

1 个答案:

答案 0 :(得分:1)

正如@Gian所指出的,如果表中没有行,那么你将无法更新任何列。

E.g。

CREATE TABLE t1
(
    col1     NUMBER,
    col2     VARCHAR2 (256)
);

创建表格

UPDATE  t1
    SET col2 =
                (SELECT  COUNT (*)
                    FROM     employees);

0行更新

INSERT INTO   t1
      VALUES   (1, 'jack');

插入1行

UPDATE  t1
    SET col2 =
                (SELECT  COUNT (*)
                    FROM     employees);

更新1行