重命名表结构数据库

oracle

1、复制表结构  建议采用 Tool---->Export User Object方式去创建表信息,复制表结构的方式没有表的索引信息
create table sms_send_record_bak_202220615 as select * from sms_send_record where 1=2;

2、插入短信数据
insert into sms_send_record_bak_202220615 select * from sms_send_record where send_date > to_date('2022-05-1 00:00:00','yyyy-mm-dd hh24:mi:ss')

3、查询数据短信
select * from sms_send_record_bak_202220615;

4、重命名
//RENAME sms_send_record TO sms_send_record_bak_202220614;
//RENAME sms_send_record_bak_202220615 TO sms_send_record;
//RENAME sms_send_record_bak_202220614 TO sms_send_record_bak_202220615;

5、给新表创建主键和索引

注解:

在RENAME表语句中:
首先,指定将要重命名的表名称。
其次,指定新的表名。新名称不能与同一模式中的另一个表相同。
请注意,一旦执行了RENAME语句,就不能回滚了。
当重命名表时,Oracle自动将旧表上的索引,约束和授权转移到新表上。
另外,它使依赖重命名表(原表)的所有对象失效,如视图,存储过程,函数和同义词。

 

sqlserver:

1、创建表结构
select * into t_b_prescription_drugstore_bak_20220615
from t_b_prescription_drugstore where 1= 2;

2、复制数据
insert into t_b_prescription_drugstore_bak_20220615(id,prescription_id,drugstore_id,create_datetime)
select id,prescription_id,drugstore_id,create_datetime from t_b_prescription_drugstore
where create_datetime > '2022-06-01'

3、设置主键命令

4、设置主键自增起始值命令

 

5、修复数据

insert into t_b_prescription_drugstore(prescription_id,drugstore_id,create_datetime)
select prescription_id,drugstore_id,create_datetime from t_b_prescription_drugstore_bak_20220616
where prescription_id in ('处方ID');

 

--select:t_b_prescription_drugstore_bak_20220616
--insert:t_b_prescription_drugstore

6、sqlserver 重命名语句操作

exec sp_rename 't_b_prescription_drugstore', 't_b_prescription_drugstore_bak_20220616';
exec sp_rename 't_b_prescription_drugstore_bak_20220615', 't_b_prescription_drugstore';



重命名表名

exec sp_rename 'oldName', 'newName';

重命名字段名

exec sp_rename 'tableName.[oldName]', 'newName', 'column';

 

 

 

 

posted on 2022-06-15 11:27  四海骄阳  阅读(52)  评论(0编辑  收藏  举报

导航