我当前有一个函数返回一个refcursor。我想将这个函数的结果存储到一个表中(可能是一个临时表),并使用一个列(IVC_CODE)将这些结果与另一个表连接。
CREATE FUNCTION EMP_REFCURSOR_F
RETURN SYS_REFCURSOR
AS
v_plan_name plans.plan_name%type;
v_comp_name companies.comp_name%type;
v_comp_code companies.comp_code%type;
BEGIN
RETURN rr400_generate_sip_movement.get_sip_movement(
137610,
v_plan_name,
v_comp_name,
v_comp_code
);
END;
提前道歉。希望我的问题是正确的。我真的是PL/SQL的新手。而且我正在使用SQL Developer。
1条答案
按热度按时间wdebmtf21#
这(或多或少)是您所拥有的,也是将函数返回的结果存储到表中所应该做的。
函数(我不想再创建一个返回refcursor的函数):
目标表:
从函数中检索数据并将其存储到表中的代码:
所以,是的-它起作用了。再一次:在我看来,你应该这样做:仅使用函数的第7行和第8行***:
你的代码可能没那么简单,但是原则应该是一样的--如果可能的话,使用
rr400_generate_sip_movement.get_sip_movement
背后的代码并直接将数据插入到表中。如果这不可能(也许那个函数非常复杂),那么......现在你知道怎么做了。