我正在尝试获取将SYS_REFCURSOR返回到我的后端的数据:
await getManager().query("SELECT function(" + 6 + ", " + 2016 + ", " + 1 + ") AS VAL FROM DUAL")
.then(
res => {
data = res;
},
);
哪个结果
查询失败:SELECT function(6,2016,1)AS VAL FROM DUAL
错误:错误:NJS-010:第1列中不受支持的数据类型2021
这是执行函数的数据,我正在尝试将其转换为text / varchar:
我尝试替换了从中返回的数据值
RETURN SYS_REFCURSOR AS TOTAL SYS_REFCURSOR;
到RETURN VARCHAR2 AS TOTAL SYS_REFCURSOR;
结果:
错误(4,3):PL / SQL:语句已忽略
错误(4,10):PLS-00382:表达式的类型错误
我尝试使用:
SELECT TO_CHAR(function(6, 2016, 1)) AS VAL FROM DUAL
返回:
ORA-00932:数据类型不一致:预期的数字为CURSER 00932。00000-“数据类型不一致:预期的%s得到了%s” *原因:
*操作:行错误:1列:16
SELECT (function (6, 2016, 1).to_string) AS VAL FROM DUAL
返回:
ORA-22806:不是对象或REF 22806。00000-“不是对象或REF” *原因:尝试从以下项中提取属性: 既不是对象也不是REF。 *操作:使用对象类型或REF类型的项目,然后重试该操作。行错误:1列:9
如果我正常使用select(SELECT function(7,2016,1) AS VAL FROM DUAL
),它将返回:
{<JAN=253715.1141718013773106197897789054005074,FEB=252780.5864509605662285136501516683518706,MAR=261291.5266890630832400149309443822321762,APR=263633.6245857185899367279300994275384152,MAY=265071.1905483186913056649500151469251742,JUN=257069.4087403598971722365038560411311054,JUL=265553.8694992412746585735963581183611533,AUG=267297.9990835497174278295402474415762945,SEP=263157.8947368421052631578947368421052632,OCT=269272.1957224188336667179566087090321588,NOV=268178.6836257758026204888514290092713202,DEC=258055.00258055002580550025805500258055>,}
我访问并尝试过的链接很少:
此刻,我正在使用存储过程查询来获取数据。但是是否可以从SYS_REFCURSOR中获取text / varchar的值?