How to create Function/Procedure in Oracle?

 

create or replace function Fun_FindNameAndDept
(
         
/*
          Date: Liu JueJue @ June 1, 2007 14:50
          Summary:
根据职员ID查找其姓名和所在科室,中间用标志 * 隔开
          */

          V_EmployeeID
number -- Ö°Ô±ID
)

return varchar2

as

     DepartmentName
Varchar2(100); -- 职员ID
     EmployeeName
varchar2(100);    -- 职员姓名    
Begin

    DepartmentName :=
'未知';
    EmployeeName :=
'未知';
   
   
select name into EmployeeName from base_employee_property t where t.employee_id = V_EmployeeID;
   
   
if EmployeeName <> '未知' then
   
select ( select l.name  from base_dept_property l where l.dept_id =  k.dept_id ) into DepartmentName  from base_emp_dept_role k where k.employee_id = V_EmployeeID;
   
end if;
   
    EmployeeName := EmployeeName ||
'*' || DepartmentName;
   
   
return EmployeeName;
   
End;

create or replace procedure test_20070601_1
(
            V_ID 
In varchar2,
            c
Out pa_test_20070601.c_sr
           
/*
               create or replace package pa_Test_20070601
               is
               type c_sr   is ref cursor;
               end;
            */

)
as
        
/*
               here for define local variables
         */

Begin

open  c for
select * from sr_itemtype s where s.id = V_ID;

exception
   
when others then
   
rollback;
    RAISE_APPLICATION_ERROR(-20001,
'查询出错' );
   
End;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值