程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle多條件查詢實際分頁存儲過程實操

Oracle多條件查詢實際分頁存儲過程實操

編輯:Oracle數據庫基礎

以下的文章主要是介紹Oracle多條件查詢分頁存儲過程,以下就是Oracle多條件查詢分頁存儲過程具體方案的描述,希望在你今後的學習中會有所幫助。將業務邏輯放到Oracle中使得後台代碼很精簡,Oracle很有搞頭!

PL\SQL:

create or replace procedure proc_clIEnt_List --客戶多條件查詢

(

pro_cursor out pkg_order.p_cursor, --查詢結果集

characters_ in varchar2,--客戶性質

states_ in varchar2,--客戶狀態

type_ in varchar2,--客戶類型

calling_ in varchar2,--客戶行業

name_ in varchar2,--客戶名稱

beginTime_ in date,--創建日期上限

endTime_ in date,--創建日期上限

area_ in number,--客戶地區

clIEntsource_ in varchar2,--客戶來源

importent_ in varchar2,--重要程度

start_row in number,--結果集起始行

end_row in number--結果集結束行

  1. ) is  
  2. sql_str varchar2(1000):=  
  3. 'select * from  
  4. ( select row_.*, rownum rownum_ from  
  5. (  
  6. select * from clIEntinfo c  
  7. where(:characters_ is null or c.characters like :characters_)  
  8. and (:states_ is null or c.states like :states_)  
  9. and (:type_ is null or c.type like :type_)  
  10. and (:calling_ is null or c.calling like :calling_)  
  11. and (:name_ is null or c.name like :name_)  
  12. and (:beginTime_ is null or c.createtime > :beginTime_)  
  13. and (:endTime_ is null or c.createtime < :endTime_)  
  14. and (:area_ is null or c.area=:area_)  
  15. and (:clientsource_ is null or c.clientsource like :clIEntsource_)  
  16. and (:importent_ is null or c.importent like :importent_)  
  17. ) row_ where rownum <= :end_row  
  18. )  
  19. where rownum_ > :start_row';  
  20. begin  
  21. open pro_cursor for sql_str using  
  22. characters_,'%'||characters_||'%',  
  23. states_,'%'||states_||'%',  
  24. type_,'%'||type_||'%',  
  25. calling_,'%'||calling_||'%',  
  26. name_,'%'||name_||'%',  
  27. beginTime_,beginTime_,  
  28. endTime_,endTime_,  
  29. area_,area_,  
  30. clientsource_,'%'||clIEntsource_||'%',  
  31. importent_,'%'||importent_||'%',  
  32. end_row,start_row;  
  33. end proc_clIEnt_List;   
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved