SELECT  Minsal,  Maxsal  INTO  Minsal,  Maxsal  FROM  SCOTT.  Sal_grade  
     WHERE  Job  =  :new.Job and rownum=1;  

解决方案 »

  1.   

    我执行了,没有错误,如果有错误的话,肯定处在这里“SELECT Minsal, Maxsal INTO Minsal, Maxsal FROM SCOTT. Sal_grade
       WHERE Job = :new.Job;
    ”是不是你的这个表里已经存在了有相同Job的记录,才会出现这样的错误呀
      

  2.   

    要保证你的表中的JOB别有重复,而且一定要有,  改一下看看:
    SELECT nvl(Minsal,0), nvl(Maxsal,0) INTO Minsal, Maxsal FROM SCOTT. Sal_grade
       WHERE Job = :new.Job;/* 如果雇员新的工资超出分类工资的范围将触发异常*/
       IF (:new.Sal < Minsal OR :new.Sal > Maxsal) THEN
          RAISE Salary_out_of_range;     /*触发异常*/
       END IF;
     
       if (minsal=0 and maxsal=0 ) then 
          --触发异常
          --输出信息:在工资等级表中不存在该工种对应的工资信息.
       end if;....