我要创建一个oracle存储过程,能返回查询的结果集,然后可以调用这个结果集,求大侠指教

SELECTdistinct(JI.ID)FROMjirauser.jiraissueJIleftjoinjirauser.projectPonJI.project=P.... SELECT distinct (JI.ID)
FROM jirauser.jiraissue JI
left join jirauser.project P on JI.project = P.id
left join jirauser.projectversion PV on P.project = PV.id
where P.Pname = '项目'
and PV.vname = '版本'
最好还能把项目、版本作为参数传进去
展开
 我来答
Andy_Sun321
推荐于2016-12-06 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:721万
展开全部

使用函数更方便些:

-- 定义包头, 以及需要用到的返回表的行定义, 定义函数FN_TB 
CREATE OR REPLACE PACKAGE PKG_T02
IS
TYPE TYPE_REC IS RECORD (FID NUMBER);
TYPE TYPE_TB IS TABLE OF PKG_T02.TYPE_REC;
FUNCTION FN_TB(P_PROJECT VARCHAR2, P_VERSION VARCHAR2) RETURN PKG_T02.TYPE_TB PIPELINED;
END PKG_T02;

-- 包体, 实现函数FN_TB
CREATE OR REPLACE PACKAGE BODY PKG_T02
IS
FUNCTION FN_TB(P_PROJECT VARCHAR2, P_VERSION VARCHAR2)
RETURN PKG_T02.TYPE_TB PIPELINED
IS
V_REC PKG_T02.TYPE_REC;
BEGIN
  FOR V_I IN (
    -- 将你的查询替换到此处 
    SELECT distinct (JI.ID)
    left ...... 
    -- 使用传入参数的条件 
    WHERE P.Pname = P_PROJECT AND PV.vname = P_VERSION  
  ) LOOP
    V_REC.FID := V_I.DEPARTMENT_ID;
    PIPE ROW(V_REC);
  END LOOP;
  
  RETURN;
END FN_TB;
END PKG_T02;

 可以像使用一般table这样来使用该函数:

SELECT * FROM TABLE(PKG_T02.FN_TB('项目值', '版本值'));
今至电子科技有限公司
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整... 点击进入详情页
本回答由今至电子科技有限公司提供
Storm_duck
2014-07-31 · TA获得超过1629个赞
知道小有建树答主
回答量:1104
采纳率:82%
帮助的人:448万
展开全部
项目、版本多么?
提供思路:
创建一个游标,将“项目”、“版本”先查出来赋给查询语句,然后将查询结果插入临时表。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式