저는이 주제 및 다른 포럼에서 대다수의 주제를 읽었지 만 여전히 문제가있는 곳을 찾을 수 없습니다. 여기에 내가 가진 무엇 : 나는 점점 계속PLS-00302. Unable to resolve
drop type RecordCount_tab;
drop type RecordCount_obj;
create type RecordCount_obj is object(Symbol varchar2(6), TimeFrame char(3), TotalCount number, minDate date, maxDate date);
/
show errors;
create type RecordCount_tab is table of RecordCount_obj;
/
show errors;
create or replace function RecordCount return RecordCount_tab is
l_RecordCount_tab RecordCount_tab := RecordCount_tab();
tName varchar2(64); vMinDate date; vMaxDate date; vCount number;
n integer :=0;
BEGIN
for r in (select table_name, substr(table_name,1,instr(table_name,'_')-1) as "BaseTable", substr(table_name,instr(table_name,'_')+1,length(table_name)-instr(table_name,'_')) as "TimeFrame" from user_tables) loop
dbms_output.put_line('select min(NewDateTime), max(NewDateTime), count(*) from '||r.table_name);
execute immediate 'select min(NewDateTime), max(NewDateTime), count(*) from '||r.table_name into vMinDate, vMaxDate, vCount;
n:=n+1;
l_RecordCount_tab(n) := (r.BaseTable, r.TimeFrame, vCount, vMinDate, vMaxDate);
end loop;
return l_RecordCount_tab;
END;
/
show errors;
를 선언해야하고 그 이유를 나는대로, 이해가 안 돼요 쿼리는 sqlplus에서 완벽하게 정상적으로 실행됩니다. 나는 또한 별칭을 제거하려고 노력했다.PLS-00302 : 구성 요소 'BASETABLE은'
무엇이 누락 되었습니까?
주위에' "BaseTable"를 따옴표를 제거'그들에게 이름의 대소 문자를 구분하게 사용 (또는'r. "BaseTable"'을 사용하십시오). 식별자 관련 규칙은 설명서를 참조하십시오. http://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements008.htm#SQLRF00223 –