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的表结构
创建成功后,测试表没有主键约束,外键约束,默认值
复制代码

 

posted @   HANDHEAD  阅读(550)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示