ORA-00936: 缺少表达式

ORA-00936: missing expression

我试图解决这个问题,但它仍然存在。 你能帮我解决一下吗?

insert into diskgroup_size ( type1 , name , total_mb , used )
  VALUES ( SELECT 'BANK', name, total_mb, (total_mb-free_mb) as "USED"
          from v$asm_diskgroup_stat@T24PRD ) ;

注意 : 当我使用没有插入的 select 语句时,我得到了所有数据。

当您执行 insert ... select 时,您不使用 values 子句:

insert into diskgroup_size ( type1 , name , total_mb , used )
SELECT 'BANK',name,total_mb,(total_mb-free_mb)
from v$asm_diskgroup_stat@T24PRD ;

syntax diagram in the documentation 表明您使用了值子句或子查询,而不是两者。

INSERT SELECT而不是INSERT VALUES:

insert into diskgroup_size ( type1 , name , total_mb , used )
   SELECT 'BANK', name, total_mb, (total_mb-free_mb) as "USED"
   from v$asm_diskgroup_stat@T24PRD

您没有正确使用 INSERT 语句,请尝试以下查询:

INSERT INTO diskgroup_size ( type1 , name , total_mb , used )
SELECT 'BANK',name,total_mb,(total_mb-free_mb) as "USED"
FROM v$asm_diskgroup_stat@T24PRD

希望对您有所帮助