Oracle完全复制表结构的存储过程】的更多相关文章

最近在处理一个分表的问题时,需要为程序创建一个自动分表的存储过程,需要保证所有表结构,约束,索引等等一致,此外视图,存储过程,权限等等问题暂不用考虑. 在Mysql中,创建分表的存储过程,相当简单:create table if not exists <new_table_name> like <old_table_name>;即可,约束,索引一应俱全. 但是在Oracle中貌似没有,所以只能自己写,需要考虑的情况比较多,脚本如下: CREATE OR REPLACE PROCED…
  1.情景展示 根据现有的表,建一个新的表,要求:新表的结构与原有表的表结构一模一样,如何快速实现? 根据现有的表,建一个新的表,要求:新表的结构.数据与原表一模一样,如何实现快速复制旧表? 2.解决方案 只复制表结构 语法: create table newTable as select * from oldTable where 1=2 查看执行结果 2018/12/07 思考:为什么能够实现只复制表结构和没有复制表数据? 那是因为查询条件:1=2,只能查出的数据为空. 复制表结构和表数据…
1.既复制表结构也复制表数据:CREATE TABLE tab_new AS SELECT * FROM tab_old; 2.只复制表结构:CREATE TABLE tab_new AS SELECT * FROM tab_old WHERE 1=2; 3.只复制表数据:insert into tab_new select * from tab_old; 或者SELECT vale1, value2 into tab_new from tab_old…
mysql命令行复制表结构的方法: 1.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2  或者 CREATE TABLE 新表 LIKE 旧表  2.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 3.复制旧表的数据到新表(假设两个表结构一样)  INSERT INTO 新表 SELECT * FROM 旧表  4.复制旧表的数据到新表(假设两个表结构不一样) INSERT INTO 新表(字段1…
Sql Server(sybase): 1.复制表结构: 新建表student2,并且结构同表syn_xj_student一致.Sql语句如下: 2.复制表数据,并排除俩表中相同的数据: insert into syn_xj_student2 select * from syn_xj_student where f_id not in (select f_id from syn_xj_student2) mysql: 1.复制表结构: create table topic like bbs_to…
1.不同用户之间的表数据复制 2.同用户表之间的数据复制 3.B.x中个别字段转移到B.y的相同字段 4.只复制表结构 加入了一个永远不可能成立的条件1=2,则此时表示的是只复制表结构,但是不复制表内容 5.完全复制表(包括创建表和复制表中的记录) 6.将多个表数据插入一个表中 7.创建用户budget_zlgc,权限和budget相同,(A.只复制所有表结构B.复制所有表所有信息) 1.不同用户之间的表数据复制 对于在一个数据库上的两个用户A和B,假如需要把A下表old的数据复制到B下的new…
--复制表结构及其数据 create table table_name_new as select * from table_name_old; --只复制表结构 ; --create table table_name_new like table_name_old 实测行不通 --只复制表数据: --如果两个表结构一样 insert into table_name_new select * from table_name_old; --如果两个表结构不一样 insert into table_…
create table Uc_t_Department3 as (select * from Uc_t_Department where 1=2);insert into Uc_t_Department3 select * from Uc_t_Department; -------------------------------------------------------------------------------------------------------------------…
1.首先建立远程连接 create public database link LINK_SJPSconnect to system identified by manager using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.20)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = GZZL)))'; 2.复制表结构 Create global…
1.不同用户之间的表数据复制 对于在一个数据库上的两个用户A和B,假如需要把A下表old的数据复制到B下的new,请使用权限足够的用户登入sqlplus:insert into B.new(select * from A.old); 如果需要加条件限制,比如复制当天的A.old数据insert into B.new(select * from A.old where date=GMT); 蓝色斜线处为选择条件 2.同用户表之间的数据复制 用户B下有两个表:B.x和B.y,如果需要从表x转移数据到…