【Oracle 学习笔记】Day 3 存储过程及函数

系统 1695 0
Producedure&Function
        
          create
        
        
          or
        
        
          replace
        
         package TestPack 
        
          is
        
        
          --
        
        
           Author  : ADMINISTRATOR
        
        
          --
        
        
           Created : 2012-4-27 14:01:29
        
        
          --
        
        
           Purpose : 测试
        
        
           

  type myCursor 
        
        
          is
        
         ref 
        
          cursor
        
        
          ;

  

  
        
        
          procedure
        
        
           TestPro(

     p_Cond 
        
        
          varchar2
        
        
          ,

     p_ReCursor0  out myCursor,

     p_ReCount out 
        
        
          number
        
        
          

     ); 

  
        
        
          FUNCTION
        
        
           TestFunc(

    p_MaterialID 
        
        
          varchar2
        
        
          

  )
        
        
          return
        
        
          varchar2
        
        
          ;




        
        
          end
        
        
           TestPack;




        
        
          create
        
        
          or
        
        
          replace
        
         package body TestPack 
        
          is
        
        
          procedure
        
        
           TestPro  

(

  p_Cond 
        
        
          varchar2
        
        
          ,

  p_ReCursor0  out myCursor,

  p_ReCount out 
        
        
          number
        
        
          

)


        
        
          is
        
        
          

  v_MySQL 
        
        
          varchar2
        
        (
        
          8000
        
        
          );


        
        
          Begin
        
        
          

  v_MySQL:
        
        
          =
        
        
          '
        
        
          select * from Materials where 1=1 
        
        
          '
        
        
          ;

  v_MySQL:
        
        
          =
        
        v_MySQL
        
          ||
        
        
          p_Cond;

  
        
        
          open
        
         p_ReCursor0 
        
          for
        
        
           v_MySQL;

  
        
        
          select
        
        
          Count
        
        (
        
          1
        
        ) 
        
          into
        
         p_ReCount 
        
          from
        
        
           Materials;

  
        
        
          ENd
        
        
           TestPro;

  


        
        
          FUNCTION
        
        
           TestFunc(

    p_MaterialID 
        
        
          varchar2
        
        
          

  )
        
        
          return
        
        
          varchar2
        
        
          is
        
        
          

    Type myCursor 
        
        
          is
        
         ref 
        
          cursor
        
        
          ;

    p_ReCursor0  myCursor;

    p_ReturnValue 
        
        
          varchar2
        
        (
        
          8000
        
        
          );

  
        
        
          Begin
        
        
          select
        
         MaterialName 
        
          into
        
         p_ReturnValue 
        
          from
        
         Materials 
        
          where
        
         MaterialID
        
          =
        
        
          ''
        
        
          ||
        
        p_MaterialID
        
          ||
        
        
          ''
        
        
          ;

    
        
        
          return
        
        
           p_ReturnValue;

    
        
        
          End
        
        
           TestFunc;


        
        
          end
        
         TestPack;
      

终于整明白了。

原来需要一个cursor来打开进行取数。

相比之下觉得SQL Server更人性化一点,但是估计Java更以一切皆对象这样的理念吧。

再深入的研究还得往后放放,包括游标(当然也比较easy),临时表(总感觉很深奥的样子)。

【Oracle 学习笔记】Day 3 存储过程及函数


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论