Oracle 报错Error(3,8): PLS-00201: identifier 'T_REF_CURSOR' must be declared
createorreplacefunctionget_productsreturnt_ref_cursorisv_products_ref_cursort_ref_cur...
create or replace
function get_products
return t_ref_cursor is
v_products_ref_cursor t_ref_cursor;
begin
open v_products_ref_cusor for
select value(op)
from object_products op
order by op.id;
return v_products_ref_cursor;
end get_products;
请问这个get_products 函数为什么会有这个报错? 展开
function get_products
return t_ref_cursor is
v_products_ref_cursor t_ref_cursor;
begin
open v_products_ref_cusor for
select value(op)
from object_products op
order by op.id;
return v_products_ref_cursor;
end get_products;
请问这个get_products 函数为什么会有这个报错? 展开
1个回答
展开全部
可能是t_ref_cursor没有进行定义吧。像下面这样写试一下,将t_ref_cursor定义一下,看看是否好用。
create or replace function get_products() return t_ref_cursor is
cursor t_ref_cursor is
select op.*
from object_products op
order by op.id;
v_products_ref_cursor t_ref_cursor;
begin
for v_products_ref_cusor in t_ref_cursor;
return v_products_ref_cursor;
end get_products;
create or replace function get_products() return t_ref_cursor is
cursor t_ref_cursor is
select op.*
from object_products op
order by op.id;
v_products_ref_cursor t_ref_cursor;
begin
for v_products_ref_cusor in t_ref_cursor;
return v_products_ref_cursor;
end get_products;
更多追问追答
追答
cursor t_ref_cursor is
select op.*
from object_products op
order by op.id;
拿到外面调用处之前,进行定义。然后执行下面的代码。
create or replace function get_products() return t_ref_cursor is
v_products_ref_cursor t_ref_cursor;
begin
open t_ref_cursor;
fetch t_ref_cursor into v_products_ref_cursor;
close t_ref_cursor;
return v_products_ref_cursor;
end get_products;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询