最近刚开始学ORACLE, 用的10gEX版本,用HR账号登陆。
下面的语句: update jobs set max_salary = (1000+(select avg(max_salary) from jobs)) where job_id = 'AD_VP';没有问题。
不过如果把+1000 放在后面变成:update jobs set max_salary = ((select avg(max_salary) from jobs)+1000) where job_id = 'AD_VP';
就会提示缺失右括号。百思不得其解~~~
分不多了,希望大家不吝赐教

解决方案 »

  1.   

    update jobs set max_salary = (select 1000+avg(max_salary) from jobs) where job_id = 'AD_VP';
    update jobs set max_salary = (select avg(max_salary)+1000 from jobs) where job_id = 'AD_VP';
      

  2.   

    update jobs set max_salary = ((select avg(max_salary)+1000 from jobs)) where job_id = 'AD_VP'
      

  3.   

    貌似我也遇到过这样的问题
    我当时的理解是avg(max_salary)+1000 因为是变量+常量所以不行
    没有深究,一下,以后来看