如何在pl/sql里执行该存储过程,然后看到返回的结果集?
create or replace procedure testproc is
SID  number := 0;
SNAME  varchar2;
begin
select id,first_name||last_name into SID,SNAME from students where id = '10000';
dbms_output.put_line(SID);
dbms_output.put_line(SNAME);
end testproc;

解决方案 »

  1.   

    在命令窗口输入以下命令;set serveroutput on;
    exec testproc;
      

  2.   

    代码写错了,需要给出varchar2的长度:
    CREATE OR REPLACE PROCEDURE TESTPROC IS
      SID   NUMBER := 0;
      SNAME VARCHAR2(100);
    BEGIN
      SELECT ID, FIRST_NAME || LAST_NAME
        INTO SID, SNAME
        FROM STUDENTS
       WHERE ID = '10000';
      DBMS_OUTPUT.PUT_LINE(SID);
      DBMS_OUTPUT.PUT_LINE(SNAME);
    END TESTPROC;
    /
      

  3.   

    对,varchar2在变量中需要给出长度。修改后在命令窗口输入以下命令
    set serveroutput on;
    exec testproc; 
    或者在sql窗口中输入call testproc();再输出的地方就可以看到数据了。