• 数据库存储过程


    一 : 创建存储过程
    /*
    in 输入的参数 不可变 不可以再次赋值
    out 可以重复赋值
    in out 可以重复赋值
    如果不写默认 都是 in 的
    注意存储过程是没有返回值的
    */
    create or replace procedure
    mypro (table1 in varchar2,table2 out varchar2,con in out number) as -- as 可以在存储过程中声明变量
    testone number;
    testto date;
    begin --开始

    table2 := 'aaa';
    testone := 10;

    dbms_output.put_line(table1);
    dbms_output.put_line(testone);
    end mypro;

     二 : 运行存储过程1(可视化操作)

    三 : 使用存储过程可以将当做java中的函数去使用,多数情况下使用存储过程进行将一张表中的数据做备份
    但是普通用户是没有全限使用存储过程创建表的
    就需要给用户授权(先以管理员的身份登录)
    grant create table to pb

    create or replace procedure

    mypro (table1 in varchar2) as -- as 可以在存储过程中声明变量

    sqltext varchar2(200);

    begin --开始

    sqltext := 'create table '||table1||'_copy as select * from '||table1;
    Execute immediate sqltext;
    commit;

    -- 异常的处理 when 异常对象 others 代表所有的异常 then 异常后 执行的 代码块
    exception when others then dbms_output.put_line('异常了');

    end mypro;

    测试,只需要将我们需要备份的表的名称传进去,就可以备份到表名称+_copy的表中
    备份表的sql语句 如何复制数据
    -- 目标表 不存在 创建目标表 复制数据 可以加where条件
    create table pay_type_copy as select * from pay_type

    -- 目标表 存在
    insert into pay_type_copy select * from pay_type

  • 相关阅读:
    yarn安装ant-报错
    Linux扩展分区记录
    转载--tomcat调优
    转发:tomcat的acess_log打印post请求参数,分析日志
    经纬度差和米单位的换算
    loadrunner 11 安装与使用
    前端知识图谱
    linux-nc命令介绍
    双网卡设置(转:https://www.cnblogs.com/visionfeng/p/5825078.html)
    网络设备介绍
  • 原文地址:https://www.cnblogs.com/pengmengnan/p/6734331.html
Copyright © 2020-2023  润新知