programing

이 "SQL 문 무시됨" 오류를 수정하려면 어떻게 해야 합니까?

lovejava 2023. 11. 5. 10:48

이 "SQL 문 무시됨" 오류를 수정하려면 어떻게 해야 합니까?

컴파일되지 않는 작은 함수는 다음과 같습니다.

function f_query_01  Return interval Day to second is 
  start_time timestamp(3);
  end_time timestamp(3);
  time_diff interval Day to second;  
  c_query_number number;

begin

  start_time := systimestamp; 
  select count(*) into c_query_number from wg;  <--This is the line that errors out
  end_time := systimestamp;
  time_diff := start_time - end_time;

  return time_diff;

end f_query_01;

컴파일러에서 다음과 같은 오류가 발생합니다.

Error(29,3): PL/SQL: SQL Statement ignored
Error(29,44): PL/SQL: ORA-04044: procedure, function, package, or type is not allowed here

이 오류의 원인은 무엇이며 어떻게 수정할 수 있습니까?

wg 테이블이 존재하지 않는 것으로 보입니다.올바른 테이블 이름으로 업데이트하면 컴파일이 오류 없이 작동합니다.테이블의 컴파일러가 보낸 메시지가 존재하지 않는 것이 가장 도움이 될 것입니다.

CREATE OR REPLACE FUNCTION f_query_01
   RETURN NUMBER
IS
BEGIN
   DECLARE
      c_query_number   NUMBER DEFAULT NULL;
      start_time       DATE DEFAULT NULL;
      end_time         DATE DEFAULT NULL;
      time_diff        NUMBER DEFAULT NULL;
   BEGIN
      SELECT CAST (SYSTIMESTAMP AS DATE) INTO start_time FROM DUAL;

      SELECT COUNT (*) INTO c_query_number FROM ws;

      SELECT CAST (SYSTIMESTAMP AS DATE) INTO end_time FROM DUAL;

      time_diff := start_time - end_time;

      RETURN time_diff;
   END;
END f_query_01;

언급URL : https://stackoverflow.com/questions/3113211/how-can-i-fix-this-sql-statement-ignored-error