ORA-00936:缺少表达

时间:2015-03-05 08:11:38

标签: sql database oracle plsql plsqldeveloper

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

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语句而没有插入时,我得到所有数据。

3 个答案:

答案 0 :(得分:1)

执行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表示您使用的是值子句或子查询,而不是两者。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您没有正确使用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

希望这会对你有所帮助