Oracle 函数 “把当前的用户(审核人,审核通过后)插入到数据表中”

 1  create or replace function mcode_apply_update_personnel(p_mca_no       VARCHAR2,   -- 参数(实参)
 2                                                           p_action       VARCHAR2,
 3                                                          p_wf_node_code VARCHAR2)
 4                                    -- 该函数的作用:把当前的用户(审核人;审核通过后)插入到数据表中。
 5         RETURN VARCHAR2 AS
 6      -- v_personcode 变量(形参)
 7         v_personcode Personnel.Person_Code%TYPE := SYS_CONTEXT('YMT_VPD_SEC','PERSON_CODE');  -- 获取人员编号(当前用户的账号)  
 8         
 9   
10  BEGIN
11    
12    IF p_action = '03' AND p_wf_node_code = 2 THEN  -- 工作流 ,如果在2节点 审核通过“03”,执行下面语句
13       
14       UPDATE MCODE_APPLY m SET m.auditor = v_personcode WHERE m.mca_no = p_mca_no;    
15       
16    END IF;                          -- 审核通过后,把值更新到数据表 MCODE_APPLY_01的 auditor中。
17  
18    RETURN '0~,';
19  
20  end mcode_apply_update_personnel;
21  /

 

注:如需测试该函数,请复制到Oracle数据库中,右击函数名“mcode_apply_update_personnel”,选择“test” 进行测试,测试时记得把相应的表名及字段换成自己建立的

 

这个函数 SYS_CONTEXT(),可以参考 http://blog.csdn.net/rfb0204421/article/details/7861332  或  http://blog.csdn.net/kadwf123/article/details/8065673

 

 

 

 

原创作者:DSHORE

出处:http://www.cnblogs.com/dshore123/

欢迎转载,转载务必说明出处。(如果本文对你有用,可以点击一下右下角的 推荐,谢谢!

posted @ 2017-11-13 10:25  DSHORE  阅读(593)  评论(0编辑  收藏  举报