declare
v_deptno number(2);
v_dname varchar2(14);
begin
dbms_output.put_line('请输入部门号和部门名:');
v_deptno:=&deptno;
v_dname:='&dname';
insert into dept01(deptno,dname) values(v_deptno,v_dname);
end;
/执行结果:
Enter value for deptno: 67
Enter value for dname: gg
请输入部门号和部门名:
为什么“请输入部门号和部门名”这句话总是在后面啊!!!!!

解决方案 »

  1.   

    oracle 是先编译,再执行,编译时,如果有要求输入的,就会提示你输入,这样,才能执行,所以“请输入部门号和部门名”这句话,总在后面
      

  2.   

    它是先获取所有的&的变量的值,然后再处理你的程序块。就好像是先编译,再运行,而不是边解释边执行
      

  3.   

    Enter value for..这两句不算输出,
    是先赋值然后才有执行,所以 请输入 那句会在最后
    如果用pl/sql developer执行这段程序就很容易看出来
      

  4.   

    啊.....难道只能这样啦。。declare
    v_deptno number(2);
    v_dname varchar2(14);
    begin
    v_deptno:=&请输入部门号deptno;
    v_dname:='&请输入部门名dname';
    insert into dept01(deptno,dname) values(v_deptno,v_dname);
    end;
    /