oracle创建存储过程并调用

储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。

1、语法

create or replace procedure 存储过程的名称 is
begin
     xxxx......此处为自己需要执行的sql语句
end 存储过程的名称;

2、实例

create or replace procedure P_Sub_Leaders is
begin
  execute immediate 'TRUNCATE TABLE SUBCOM_LEADERS';
  COMMIT;
  insert into SUBCOM_LEADERS
    (ID, ORG_ID, USERNAME, REALNAME)
    SELECT PARENT_NODE_ID id,
           NODE_ID        orgId,
           ORG_ID         uername,
           ORG_NAME       realName
      FROM T_SYS_TREE
     WHERE PARENT_NODE_ID IN
           (SELECT NODE_ID id FROM T_SYS_TREE where ORG_NAME = '分公司领导');
  COMMIT;
  UPDATE SUBCOM_LEADERS L
     SET (L.ORG_NAME, L.NODEORDER) =
         (SELECT B.subcomName, B.nodeOrder
            FROM (SELECT T.NODE_ID    nodeId,
                         T.ORG_NAME   orgName,
                         S.subcomName,
                         S.id  subcomId,
                         S.nodeOrder
                    FROM T_SYS_TREE T,
                         (SELECT T.NODE_ID    id,
                                 T.ORG_NAME   subcomName,
                                 T.NODE_ORDER nodeOrder
                            FROM T_SYS_TREE T
                           WHERE NODE_ID IN
                                 (SELECT PARENT_NODE_ID pId
                                    FROM T_SYS_TREE
                                   where ORG_NAME = '分公司领导')) S
                   WHERE T.PARENT_NODE_ID = S.id
                     AND T.ORG_NAME = '分公司领导'
                   ORDER BY S.nodeOrder) B
           WHERE B.nodeId = L.id);
  COMMIT;
end P_Sub_Leaders;

3、调用

call P_Sub_Leaders ();
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值