日期:2014-05-17  浏览次数:20638 次

变量问题
declare
  v_sal emp.sal%type;
begin
  select sal into v_sal from emp where empno=&&no;
 case
  when v_sal<30 then
  update emp set sal=44 where empno=&no;
  end case;
end;
两个&&和&有什么不同之处,它们的作用是什么?请各位高手不吝赐教,谢谢了

------解决方案--------------------
在同一会话中&&表示对变量只赋值一次,以后SQL都用该值运行。
比如在一个会话中:
select sal into v_sal from emp where empno=&&no; 
你赋值后,不论运行多次该SQL,都以你这一次给的值运行。

而&则是运行一次就需你赋值一次。