• plsql 存储过程 介绍。


    /* 7-22   知识总结?
      1. 存储过程
      2.函数
      3.包
    */
    
    
    
    /*1.什么是存储过程? 语法?
      存储过程:类似于Java中的方法;完成一个特定的功能,一系列代码
      
     (增删改操作和一些逻辑判断,select ... Into 变量)构成;存在哪?存在数据库服务器上
      
    特点:
    1、预编译
    2、可以重用
    3、单独的设置权限
    4、减轻网络的流量;
    
    二、创建过程:
    1、无参
    2、输入参数
    3、输入和输出参数
    
    三、调用过程:
    1、语句块中
    2、Call调用
    3、Execute 调用(命令行调用)
    
    */
    -- 
    create or replace  procedure re1
    as
    
    begin
      insert into emp (empno,ename,job,sal) values(9100,'嬴荡',  '秦王', 1200);
      insert into emp (empno,ename,job,sal) values(9101,'秦孝公','诸侯',1000);
      commit;   --设置自动提交
    end;
    
    
    create  or replace procedure re2
    as
    begin
      delete from emp where empno=9100;
      delete from emp where empno=9101;
      commit;
    end;
    
    -- 调用  无参数的存储过程。 
    --  1.begin end;  2.call 名字(); 3.命令行 excute 名字();
    begin
     re1;
    end;
    
    begin 
      re2;
    end;
    select * from emp;
    
    call re1();
    call re2();
    
    -- 创建有参数的储存过程? 
    create or replace  procedure re3(id1 number,id2 number)  --注意 这里是没有分号的!
    as
    begin
      insert into emp (empno,ename,job)values(id1,'紫霞','败家');
      insert into emp (empno,ename,job)values(id2,'至尊宝','赚钱');
      commit;
    
    end;
    
    create or replace  procedure re4(id1 number,id2 number)
    as
    begin
       delete from emp where empno in (id1 ,id2);
       commit;
    end;
    
    
    call re3(1111,2222);
    call re4(1111,2222);
    select * from emp;
    
    
    begin
      re3(1,2);
    end;
    
    begin 
      re4(1,2);
    end;
    
    -- 统计数据表中的个数  临时变量的作用
    create or replace  procedure re3(id1 number,id2 number)  --注意 这里是没有分号的!
    as
     v_count emp.empno%type; --定义临时变量 目的是统计一共多少数据
    begin
      insert into emp (empno,ename,job)values(id1,'紫霞','败家');
      insert into emp (empno,ename,job)values(id2,'至尊宝','赚钱');
      commit;
      select count(*) into v_count from emp ;
      dbms_output.put_line(v_count);
    end;
    
    call re3(1,2);
    call re4(1,2);
    
    
    select count(*) from emp;
    
    
    -- 录入后 统计数据表中的个数  定义 id 和姓名  四个参数  
    create or replace procedure re5(
      id1 in number,
      id2 in number,
      name1 in emp.ename%type,
      name2 in emp.ename%type,
      n1 out number    -- 返回的参数   定义的n1  
    
    )
    as
    begin
        insert into emp (empno,ename,job)values(id1,name1,'败家');
        insert into emp (empno,ename,job)values(id2,name2,'赚钱');
        commit;
        select count(*) into n1 from emp;
    end;
    
    declare
     v_count number(2);
    begin
      re5(3,4,'卢本伟','马飞飞',v_count);    
      dbms_output.put_line('总数量:'||v_count); 
    end;
    
    call re4(3,4);
    select * from emp;
  • 相关阅读:
    获取手机安装的所有包名adb shell pm list packages
    启动管理
    日志管理
    系统管理:进程管理、终止进程、工作管理、系统资源查看
    报数出局问题,类似约瑟夫环(链表写法)
    多项式的链式写法
    简易的C语言地铁购票系统
    68-js 前端实现标签值的切换
    67-foreach 取循环的次数
    66-mybatis 插入数据返回主键
  • 原文地址:https://www.cnblogs.com/ZXF6/p/11228366.html
Copyright © 2020-2023  润新知