저장 프로세스 페이지 나누기
27647 단어 저장 프로세스
create or replace function dlmis.fcBSGetRecDetailListEx(iEventTypeID integer, --
iRegionType integer, -- 1- 2-
iRegionID integer, --
iRoadID integer, --
iQueryType integer, -- 1- 2-
iQueryID integer, --
sBeginDate varchar2, --
sEndDate varchar2, --
iCurPage integer, --
iPerPageCount integer, --
iTotalCount out integer, --
curRecInfoList out dlsys.pkdual.AnyCursor, --
sErrorDesc out varchar2
) return integer is
/**
: (1- 2-)
: ( V2)
: iRegionType : 1- 2-
0 ,-1 ,>0
:liul,2015-03-29
**/
DEBUG_BEGIN_TIME number;
DEBUG_END_TIME number;
sSql varchar2(20000);
sWhereSql varchar2(2000);
--sCommonSql varchar2(4000);
sRsSql varchar2(8000);
iFirst integer;
iLast integer;
iResult integer;
begin
DEBUG_BEGIN_TIME := dbms_utility.get_time;
iResult := 0;
if iRegionType is null then
iResult := 1;
sErrorDesc := ' ';
return iResult;
end if;
if iRegionType is null then
iResult := 1;
sErrorDesc := ' ';
return iResult;
end if;
if iQueryType is null then
iResult := 1;
sErrorDesc := ' ';
return iResult;
end if;
sSql := 'select a.MISSIONID, a.MISSIONCODE, a.MISSIONTYPEID, a.CREATETIME, a.STARTDATE, a.ENDDATE, a.TITLE, a.CONTENT,
a.OPERATORID, a.VALIDFLAG, a.VALIDTIME, a.DELETEFLAG, a.DELETETIME, a.MODIFYTIME, a.MODIFYHUMANID, a.PUBLISHFLAG,
b.MissionTypeName, c.LawCheckTime, c.PartName, c.PartHead, c.PartPhone, c.PartCode, c.RoadName, c.CoordinateX,
c.CoordinateY, c.Address, c.RecDesc, c.HumanIDOne, c.HumanIDTwo,d.PatrolName from dlmis.toLCMission a, dlmis.toDicLCMissionType b, dlmis.toLCRec c,dlsys.tcPatrol d
where a.missiontypeid = b.missiontypeid and a.missionid = c.missionid and c.HumanIDOne=d.PatrolID';
--
if iRegionType =1 then
sWhereSql := ' and c.DistrictID=' || iRegionID ;
elsif iRegionType =2 then
sWhereSql := ' and c.StreetID=' || iRegionID ;
end if;
--
if iRoadID is not null then
--sWhereSql := sWhereSql || (' and c.RoadID='|| iRoadID) ;
sWhereSql := sWhereSql;
end if;
--
if iQueryType =1 then --
sWhereSql := sWhereSql || ' and c.HumanIDOne='|| iQueryID;
elsif iQueryType =2 then --
sWhereSql := sWhereSql || ' and d.PatrolTeamId='|| iQueryID;
end if;
--
if sBeginDate is not null then
sWhereSql := sWhereSql || ' and c.LawCheckTime >= to_date(''' || sBeginDate || ''',''yyyy-mm-dd'')';
end if;
if sEndDate is not null then
sWhereSql := sWhereSql || ' and c.LawCheckTime < to_date(''' || sEndDate || ''',''yyyy-mm-dd'')+1 ';
end if;
sSql := sSql||sWhereSql;
--
--error
--plog.error(sSql);
--
sRsSql := 'select count(1) from (' || sSql || ') ';
dbms_output.put_line('sSql:' || sSql);
execute immediate sRsSql
into iTotalCount;
iFirst := 1;
iLast := iTotalCount;
if iCurPage is not null and iPerPageCount is not null then
iFirst := iPerPageCount * (iCurPage - 1) + 1;
iLast := iPerPageCount * iCurPage;
end if;
sRsSql := ' select * from (select rownum as rn, MISSIONID,MISSIONCODE,MISSIONTYPEID,CREATETIME,STARTDATE,ENDDATE,TITLE,CONTENT,OPERATORID,VALIDFLAG,VALIDTIME,DELETEFLAG,DELETETIME,MODIFYTIME,MODIFYHUMANID,PUBLISHFLAG,MissionTypeName,LawCheckTime,PartName,PartHead,PartPhone,PartCode,RoadName,CoordinateX,CoordinateY,Address,RecDesc,HumanIDOne,PatrolName,HumanIDTwo from (' || sSql ||
' )) where rn >= ' || iFirst || ' and rn <= ' || iLast;
--error
--plog.error(sRsSql);
--
if iTotalCount > 0 then
open curRecInfoList for sRsSql;
else
open curRecInfoList for
select * from dual where 1 = 2;
end if;
commit;
DEBUG_END_TIME := dbms_utility.get_time;
if DEBUG_END_TIME - DEBUG_BEGIN_TIME > 100 then
plog.info(' { =' || (DEBUG_END_TIME - DEBUG_BEGIN_TIME) ||
'}{iEventTypeID=' || iEventTypeID || '}{iRegionType=' ||
iRegionType || '}{iRegionID=' || iRegionID || '}{iRoadID=' ||
iRoadID || '}{iQueryType=' || iQueryType || '}{iQueryID=' ||
iQueryID || '}{sBeginDate=' || sBeginDate ||
'}{sEndDate=' || sEndDate || '}{iCurPage=' || iCurPage ||
'}{iPerPageCount=' || iPerPageCount || '}');
end if;
return iResult;
exception
when others then
null;
rollback;
plog.error(' { =' || (DEBUG_END_TIME - DEBUG_BEGIN_TIME) ||
'}{iEventTypeID=' || iEventTypeID || '}{iRegionType=' ||
iRegionType || '}{iRegionID=' || iRegionID || '}{iRoadID=' ||
iRoadID || '}{iQueryType=' || iQueryType || '}{iQueryID=' ||
iQueryID || '}{sBeginDate=' || sBeginDate ||
'}{sEndDate=' || sEndDate || '}{iCurPage=' || iCurPage ||
'}{iPerPageCount=' || iPerPageCount || '}');
sErrorDesc := ' 。' || SQLERRM(SQLCODE);
iResult := -1;
return iResult;
end fcBSGetRecDetailListEx;
--
llsql := ***;
sRsSql := 'select count(1) from (' || sSql || ') ';
dbms_output.put_line('sSql:' || sSql);
execute immediate sRsSql into iTotalCount;
iFirst := 1;
iLast := iTotalCount;
if iCurPage is not null and iPerPageCount is not null then
iFirst := iPerPageCount * (iCurPage - 1) + 1;
iLast := iPerPageCount * iCurPage; end if;
sRsSql := ' select * from ('|| llsql ||' from (' || sSql || ' )) where rn >= ' || iFirst || ' and rn <= ' || iLast;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 호출 Oracle 스토리지 프로세스 상세 정보Java 호출 Oracle 스토리지 프로세스 상세 정보 단계: 1. Oracle 스토리지 프로세스 작성 2. 데이터베이스 작성 연결 도구 클래스 얻기 3. 간단한 응용 프로그램 호출 저장 프로세스 작성 구현: 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.