在网上找来的语句备份单表的状况。提供参考oop
--不影响往后工做的造数据步骤: --一、备份表内的内容, --二、清表内内容, --三、给表造数据, --四、还原表 ------------------------------------------------------------ --一、备份表内的内容, --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; ------------------------------------------------------------ --二、清表内内容, --delete <库名>.<表名>; --删掉一整个表内的数据 delete userinfo.clientinfo_1; ------------------------------------------------------------ --三、给表造数据, --新建一个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; ------------------------------------------------------------ --四、还原表 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/65449548spa