oracle sql语句改成存储过程 谢谢!!!!

SELECT"WORKITEMID","BILLID","PARENTWORKITEMID","WORKITEMDESC","USERID","RESULTINFO","... SELECT "WORKITEMID",
"BILLID","PARENTWORKITEMID", "WORKITEMDESC", "USERID","RESULTINFO","USERINFO","CREATETIME","FINISHTIME"FROM (SELECT s.billid,t.nodeid,t.workitemid,t.ParentWorkItemID, t.WorkItemState, t.FinishTime, t.WorkItemDesc,t.UserID,t.Createtime,t.ResultInfo,t.UserInfo FROM SCM_OA_GovApprovalHead s LEFT JOIN (SELECT BillID,Item.NODEID, Item.Workitemid,ParentWorkItemID, WorkItemState,FinishTime, WorkItemName WorkItemDesc,NVL (Part.UserID, Item.UserID) AS UserID,Createtime,ResultInfo,UserInfo FROM WF_WorkItem Item LEFT JOIN WF_InstanceDoc InsDoc ON Item.InstanceID = InsDoc.InstanceID LEFT JOIN WF_Participator Part ON Item.WorkItemID = Part.WorkItemID
AND ( Item.UserID = -1
OR ( Item.UserID > 0
AND Item.UserID = Part.UserID))
WHERE WorkItemState <> 3) t
ON s.src_billid = t.billid) a
WHERE (BillID = 821684)
展开
 我来答
百度网友37d85df
推荐于2016-07-26 · TA获得超过117个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:85.3万
展开全部
select查询 不能直接改成存储过程,只能弄成游标放在存储过程中使用,所以不知道你这样的目的是什么……
放一个定义游标的例子,你参考下~
declare
v_column varchar2(50);
begin
select your_column into v_column from your_table where '条件';
-- 异常处理
exception
when no_data_found then -- 未找到数据
--处理
when too_many_rows then -- 找到多行数据
-- 处理
when others then -- 其他异常
-- 处理
end;
追问
主要就是这个SQL执行的时间太长了,做了一些优化之后时间依旧很长,所以看看能不能做成存储过程或者是其他的方式来减少运行的时间,有没有什么相关的建议么
今至电子科技有限公司
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整... 点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式