Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 存储过程始终返回";“进程已退出”;错误总是_Oracle_Plsql_Oracle Sqldeveloper - Fatal编程技术网

Oracle 存储过程始终返回";“进程已退出”;错误总是

Oracle 存储过程始终返回";“进程已退出”;错误总是,oracle,plsql,oracle-sqldeveloper,Oracle,Plsql,Oracle Sqldeveloper,我正在处理一个类似于下面的表结构,并试图获得前面提到的输出 为了实现这一点,我编写了以下PL SQL过程: CREATE OR replace PROCEDURE Sample_procedure AS TYPE list_of_names_t IS TABLE OF emp.emp_index%TYPE; processedindexes LIST_OF_NAMES_T := List_of_names_t(); flag emp.emp

我正在处理一个类似于下面的表结构,并试图获得前面提到的输出

为了实现这一点,我编写了以下PL SQL过程:

     CREATE OR replace PROCEDURE Sample_procedure
AS
  TYPE list_of_names_t
    IS TABLE OF emp.emp_index%TYPE;
  processedindexes LIST_OF_NAMES_T := List_of_names_t();
  flag             emp.emp_index%TYPE;
  CURSOR c1 IS
    SELECT *
    FROM   emp
    WHERE  Trim(emp_id) = 'AAAAA'
    ORDER  BY last_maint_ts ASC;
BEGIN
    dbms_output.Put('Entered the loop');

    FOR rec IN c1 LOOP
        SELECT emp_index
        INTO   flag
        FROM   emp
        WHERE  emp_id = rec.emp_id
               AND last_maint_ts > rec.last_maint_ts;

        IF flag IS NOT NULL THEN
          processedindexes.extend;

          Processedindexes(processedindexes.last) := flag;

          processedindexes.extend;

          Processedindexes(processedindexes.last) := rec.emp_index;

          dbms_output.Put('The indexes'
                          ||rec.emp_index
                          ||' & '
                          ||flag
                          ||'refer to same emp ID');

          exit;

          dbms_output.Put('received NULL');
        END IF;
    END LOOP;
END;  
1) 每次我运行这个程序时,我都会在sql developer中以进程退出的形式获得输出,对此有什么建议吗


注意:我是PL SQL编程新手,如果我的解决方法不正确,请纠正我。

打开sqlplus并执行以下操作:-

set serveroutput on
exec Sample_procedure;

如果您的过程编译良好,它应该以dbms_output.put显示输出。非常感谢您格式化questionMax,感谢您的回答,我没有看到任何输出,但它编译得很好,没有任何错误,您能提供建议吗?您在sqlplus中是否可以看到任何类型的输出(执行上述操作后)?是否可以将第一个dbms_output.put更改为dbms_output.put_行,然后再次执行上述步骤?(不确定是否会有任何改变,但值得一试)。我读到put现在被认为已经过时了。非常感谢,它现在起作用了。我结束这个问题。