zoukankan      html  css  js  c++  java
  • 在Oracle中使用SQL语句备份单表-造数据-还原表

    在网上找来的语句备份单表的情况。提供参考

    --不影响日后工作的造数据步骤:
    --1、备份表内的内容,
    --2、清表内内容,
    --3、给表造数据,
    --4、还原表
    ------------------------------------------------------------
    --1、备份表内的内容,
    --create table <库名2>.<表名2> as select * from <库名1>.<表名1>;
    --根据表1创建表2,表2的字段和数据都和表1一样.可用于在不同的库之间进行创建
    --若只需要表头不需要表数据的话,用create table <库名2>.<表名2> as select * from <库名1>.<表名1> where 1=0;
    create table userinfo.clientinfo_2 as select * from userinfo.clientinfo_1;
    ------------------------------------------------------------
    --2、清表内内容,
    --delete <库名>.<表名>; 
    --删掉一整个表内的数据
    delete userinfo.clientinfo_1;
    ------------------------------------------------------------
    --3、给表造数据,
    --新建一个Test Window,写语句如下:
    -- Created on 2017-03-22 by ZHOUKY16712 
    declare 
      -- Local variables here
      --在declare下面定义一些参数
      i integer;--定义i为整型
      v_client_id varchar(20);--参数客户号为20位的字符串
      v_client_name varchar(50);--参数客户姓名为50位的字符串
      v_client_age integer;--参数客户年龄为整型
    begin
      -- Test statements here
      --在begin后面开始写执行语句
     for i in 1..20 --将i从1运行到20,进行循环
     loop 
    --********************************************--
    --lpad(i, 6, '0')表示一个6位的字符串,以i的值结尾,前面以0补充
    --||表示拼接,'1'||<字符串>表明在字符串前拼接字符'1'
    --故全部循环结束后,v_client_id 值为1000001到1000020
    --********************************************--
      v_client_id  := '1'||lpad(i, 6, '0');
      v_client_name :='zky';--名字赋值为zky
      v_client_age:=18;--年龄为18
      
      --给表插入数据
      --insert into<库名>.<表名> VALUES(<字段值>,<字段值>);这种的话是依次将值挨个传入字段内,
      --insert into<库名>.<表名> (<字段名>,<字段名>) VALUES(<字段值>,<字段值>);这种是可以跳跃将值传进字段里
      insert into userinfo.clientinfo_1 values(v_client_id,v_client_name,v_client_age); 
      end loop;--循环结束
      commit; 
    end;  
    ------------------------------------------------------------ 
    --4、还原表
    delete  userinfo.clientinfo_1 ;
    insert into userinfo.clientinfo_1 select * from userinfo.clientinfo_2 --把表2数据复制到表1去
    drop table userinfo.clientinfo_2--把用来备份的表2删掉。
    

    出处:https://blog.csdn.net/zhouky1993/article/details/65449548

  • 相关阅读:
    新东方英语学习方法
    最易遭老板“炒”的15种员工
    如何阅读代码
    Window 消息大全使用详解
    英语学习的六大原则
    单用户多角色权限的MSSQL实现
    .Net中的5种事务总结
    一个.Net程序员关于学习的思考顺带思考人生
    Server 2005中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表?
    推荐几个win8系统下载比较好的网站
  • 原文地址:https://www.cnblogs.com/mq0036/p/12410563.html
Copyright © 2011-2022 走看看