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) 展开
"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) 展开
1个回答
展开全部
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;
放一个定义游标的例子,你参考下~
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 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询