用游标实现在命令行窗口显示出部门号以及对应的部门名称。  declare
cursor a_dept is select deptno,dname from dept;
deptno1 dept.deptno%type;
dname1 dept.dname%type;
begin
open a_dept;
loop
fetch a_dept into deptno1,dname1;
dbms_output.put_line(deptno1||' 'dname1);
exit when a_dept%notfound;
END loop;
close a_dept;
END;这是我写的,有问题刚学,求指导,求教育!

解决方案 »

  1.   

    dbms_output.put_line(deptno1||' 'dname1); 有问题 缺少连接符
      

  2.   

    请参考:DECLARE
        CURSOR a_dept IS SELECT deptno,dname FROM dept;
        deptno1 dept.deptno%TYPE;
        dname1 dept.dname%TYPE;
    BEGIN
        OPEN a_dept;
        LOOP
            FETCH a_dept INTO deptno1,dname1;
            -- 已经修改
            dbms_output.put_line(deptno1 || ' ' || dname1); 
            EXIT WHEN a_dept%NOTFOUND;
        END LOOP;
        CLOSE a_dept;
    END;
    输出结果:10 ACCOUNTING
    20 RESEARCH
    30 SALES
    40 OPERATIONS
    40 OPERATIONS
      

  3.   


    declare
      cursor a_dept is
        select deptno, dname from dept;
      deptno1 dept.deptno%type;
      dname1  dept.dname%type;
    begin
      open a_dept;
      loop
        fetch a_dept
          into deptno1, dname1;
        dbms_output.put_line(deptno1 || '-----' ||dname1);   --这个地方你写的有问题
        exit when a_dept%notfound;
      END loop;
      close a_dept;
    END;10-----ACCOUNTING
    20-----RESEARCH
    30-----SALES
    40-----OPERATIONS
    40-----OPERATIONS
     
    PL/SQL procedure successfully completed
      

  4.   

    declare
    cursor a_dept is select deptno,dname from dept;
    deptno1 dept.deptno%type;
    dname1 dept.dname%type;
    begin
    open a_dept;
    loop
    fetch a_dept into deptno1,dname1;
    exit when a_dept%notfound;
    dbms_output.put_line(deptno1||' '||dname1);
    END loop;
    close a_dept;
    END;
    这样试试