首页 > 代码库 > 执?行?o?r?a?c?l?e?函?数?的?四?种?方?法

执?行?o?r?a?c?l?e?函?数?的?四?种?方?法

1.在定义函数时:如果有参数,则参数可有类型但是不加长度。 
2.在执行函数: var/variable var_name var_type(如果数据类型是number则没有长度,如果数据类型是varchar2,则可以写长度) 
                     call(此处不能用exec) 函数名(参数) into :var_name;         
       举例:
         SQL>var dd varchar2 
         SQL>call get_sal(7788) into :dd; 

       执行oracle函数的四种方法: 首先,创建函数fun_stu:  
         create or replace function fun_stu(iname varchar2) return varchar2 is 
                  r varchar2(20);               

         begin
                  select s.value into r from student s where s.name =iname; 
                  return (r);              
         end;
1.方法一  
       输入以下语句  
         SQL> variable a varchar2(20)       
         SQL> begin 
                  :a:=fun_stu(‘ba‘);                
                  end;                
                  /  
       输出结果: 
         PL/SQL procedure successfully completed            
         a 
         ---------            
         A    
       输出变量的值        
         SQL> print a           
         a 
         ---------            
         A  
2.方法二  
       输入以下语句  
         SQL> variable a varchar2(20)
         SQL> call fun_stu(‘ba‘) into :a;     

       输出结果 
         Method called        
         a 
         ---------         
         A 
       输出变量值 
         SQL> print a          
         a  
       ---------          
       A  
3.方法三  
      输入以下语句  
         SQL> variable a varchar2(20)          
         SQL> execute :a:=fun_stu(‘BA‘);       

      输出结果  
         PL/SQL procedure successfully completed           

         a 
         --------- 
         C 

      输出变量值 
         SQL> print a          

         a 
         ---------    
         C  

4.方法四  
      使用sql语句调用  
         select   fun_stu(‘ba‘) from dual;  
      输出结果  
         A