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

sql/plus &动态输入问题
declare 
  type t_record is record(
      t_no emp.EMPNO%type,
      t_name emp.ENAME%type,
      t_sal emp.SAL%type
  );
  v_emp t_record;
  begin 
      select empno,ename,sal into v_emp from emp where  empno = &no;
      dbms_output.put_line(v_emp.t_no||' '||v_emp.t_name||' '||v_emp.t_sal);
  end;
  /
/////////////////////////////
问题:上面的例子中我想动态输入empno的值,用&no实现,但是报错,如果把empno写死就没问题,以下是错误信息:

谁能帮我看一下。
sql/plus ?&

------解决方案--------------------
declare 
  type t_record is record(
      t_no emp.EMPNO%type,
      t_name emp.ENAME%type,
      t_sal emp.SAL%type
  );
  v_emp t_record;
  begin 
      select empno,ename,sal into v_emp from emp where  empno = &t_no;
      dbms_output.put_line(v_emp.t_no
------解决方案--------------------
' '
------解决方案--------------------
v_emp.t_name
------解决方案--------------------
' '
------解决方案--------------------
v_emp.t_sal);
  end;
  /

------解决方案--------------------
标量要define。