• 数据库存储过程


    一 : 创建存储过程
    /*
    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

  • 相关阅读:
    jenkins实现git自动拉取代码时替换配置文件
    【一些小常识】Linux文件目录的通配符用法/*
    mysql使用——sql实现随机取一条数据
    jmeter使用问题——数据库无法连接
    【测试点】微信小程序的常见测试点
    分位数介绍
    elk开源版本支持的功能
    kali下的webshell工具-Weevely
    kali中的webshell工具--webacoo
    sql报错注入:extractvalue、updatexml报错原理
  • 原文地址:https://www.cnblogs.com/pengmengnan/p/6734331.html
Copyright © 2020-2023  润新知