oracle - PLSQL获取表达式的类型错误
问题描述
我是 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 );
推荐阅读
- pine-script - TradingView HeikenAhi 算法
- html - 调整内容边框
- javascript - 使用 AngularFire 调整 Firestore 缓存大小
- javascript - 为什么我的 jQuery 没有检测到对标签的点击?
- ruby-on-rails - CanCanCan“索引”规则有和没有块之间的区别
- c# - 本机 Xamarin.Android 应用程序在发布模式下不断崩溃
- javascript - 条件渲染输入重叠文本
- jquery - 通过 jQuery 下载时 Zip 文件无效
- boolean - 如何在 COBOL 中返回 true
- google-chrome - emoji/canvas/text 如何在 Chrome/Firefox 等浏览器上呈现?