저는 PLSQL을 처음 접하고 PLSQL 함수를 생성하는 동안 문제에 직면하고 있습니다. 표현식의 유형이 잘못되었다고 합니다. 도움이 필요합니다. 여기 내 기능이 있습니다
CREATE OR REPLACE TYPE HOTGROUPTYPE AS OBJECT (
IMEI VARCHAR2(255),
LACCI VARCHAR2(255),
FRAUD_TYPE VARCHAR2(255),
MSISDN VARCHAR2(255)
);
/
CREATE OR REPLACE TYPE HOTGROUPTYPE_tab IS TABLE OF HOTGROUPTYPE;
/
CREATE OR REPLACE FUNCTION get_tab_tf (p_count IN NUMBER, p_days IN NUMBER) RETURN HOTGROUPTYPE_tab
AS
l_tab HOTGROUPTYPE_tab:=HOTGROUPTYPE_tab();
BEGIN
for i in (select IMEI,LACCI,FRAUD_TYPE,MSISDN
from fms_fraud_master_tbl
where request_type='BARRING'
and rownum<2)
loop
l_tab.extend;
l_tab(l_tab.last) := i.IMEI;
end loop;
RETURN l_tab;
END;
/
함수를 실행할 때 이 오류가 발생합니다.
11/3 PL/SQL: Statement ignored
11/28 PLS-00382: expression is of wrong type
테이블 유형에 값을 올바르게 할당하지 않았습니다. l_tab(<index>)
유형의 변수를 할당해야 합니다 HOTGROUPTYPE
.
다음을 사용해야 합니다.
l_tab(l_tab.last) := HOTGROUPTYPE(i.IMEI, i.LACCI,i.FRAUD_TYPE,i.MSISDN );
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다