Oracle-复制表结构存在的问题
在生产中,创建一个新表tbl_A,要求与已有表结构tbl_B一致
create table tbl_A AS select * from tbl_B where 1=2;
--拷贝表结构tbl_B给tbl_A----
创建以后,导入数据发现tbl_A上基于主键(以为是tbl_B的主键)的查询全部都是全表扫描,故回看tbl_A的建表脚本,发现tbl_A并没有主键。
注意:上述拷贝表结构的脚本,并不拷贝约束关系,主键约束,外键约束,默认值约束。
测试如下:
--创建测试表test_A create table test_A (grad number PRIMARY key); --创建测试表test_B create table test_B (id varchar(20) not null , in_date date default sysdate, sal number not null, grade number , PRIMARY key(id), FOREIGN KEY (grade) REFERENCES test_A (grad) ); test_B上存在主键约束,外键约束,默认值约束 --测试表test_C拷贝test_B的表结构 创建成功后,测试表没有主键约束,外键约束,默认值
https://www.cnblogs.com/handhead/
莫问收获,但问耕耘