不,你做不到;你的第二个陈述(略微修正)会得到

ORA-02440: Create as select with referential constraints not allowed

02440. 00000 - "Create as select with referential constraints not allowed"

*Cause: create table foo (... ref. con. ...) as select ...;

*Action: Create the table as select, then alter the table to add the

constraints afterwards.

这是提到in the documentation:

对表的定义查询的限制

表查询受以下限制: 表中的列数必须等于子查询中的表达式数。 列定义只能指定列名,默认值和完整性约束,而不能指定数据类型。 您不能在包含

CREATE TABLE的

AS subquery语句中定义外键约束,除非该表是引用分区且约束是表的分区引用约束。在所有其他情况下,您必须创建没有约束的表,然后使用

ALTER TABLE语句添加它。

可以提供其他约束,如在注释中链接到@Jeff的答案,因此您可以添加主键:

CREATE table copy_emp(eid primary key, ename,job,mid,sal,dept_id)

as

SELECT employee_id,

concat(first_name,last_name),job_id,manager_id,salary,department_id

FROM employees;

或(只要约束名称是唯一的)

CREATE table copy_emp(eid, ename,job,mid,sal,dept_id,

constraint emp_pk primary key (eid))

as

SELECT employee_id,

concat(first_name,last_name),job_id,manager_id,salary,department_id

FROM employees;

oracle中制作副本,创建表的副本并在创建时为其提供约束相关推荐

  1. oracle 其他用户表主键,Oracle中查看所有的表,用户表,列名,主键,外键

    在Oracle中查看所有的表: select * from tab/dba_tables/dba_objects/cat; 看用户建立的表 : select table_name from user_ ...

  2. Oracle 创建表、定义序列以及创建触发器

    Oracle 创建表.定义序列以及创建触发器 1. 定义序列 CREATE SEQUENCE <序列名>[MAXVALUE N|NOMAXVALUE][MINVALUE N|NOMINVA ...

  3. 怎么查看oracle数据库表的主键,Oracle中查看所有的表,用户表,列名,主键,外键...

    在Oracle中查看所有的表: select * from tab/dba_tables/dba_objects/cat; 看用户建立的表 : select table_name from user_ ...

  4. Oracle中如何查询一个表的所有字段名和数据类型

    Oracle中如何查询一个表的所有字段名和数据类型 查询语法 select A.COLUMN_NAME,A.DATA_TYPE from user_tab_columns A where TABLE_ ...

  5. oracle查询列属性,Oracle中查看所有的表,列,属性,…

    在Oracle中查看所有的表: select * from tab/dba_tables/dba_objects/cat; 看用户建立的表 :  select table_name from user ...

  6. oracle恢复drop建的表首次,Oracle中Drop,Delete,Truancate表恢复

    Oracle中Drop,delete,truancate表恢复 oracle中,常常会由于一些失误导致表的删除,以下是我写的一些表恢复的方法. 闪回模式得满足条件(启用闪回区和启用归档): 1.检查是 ...

  7. oracle查表字段长度,oracle中查询某张表中的字段名,字段类型,字段长度等信息...

    oracle中查询某张表中的字段名,字段类型,是否为空,字段长度等信息 --更改某张表的字段类型长度 alter table bill_info modify IDCARD VARCHAR2 (30) ...

  8. oracle中快速复制数据表(创建数据表)

    1.普通创建表方式如下: create table emp(empno number(4) primary key,ename varchar2(20),sal number(7,2)); 2.快速创 ...

  9. oracle 两表两列数据对比_当表中的列数不同时,如何比较oracle中的两个表

    INTRO:下面我将展示如何做到"手工"这些工具(例如SQL Developer)可以做得更快更好.我对此(和你的!)的兴趣是双重的:学习和使用一些可以帮助解决许多其他问题的想法; ...

  10. oracle 查询字段除了as,Oracle中怎样查询数据表的哪个字段是主键

    工作中要用到 Oracle 10g,经常要向其中的某张表插入事件发生的日期及时间.专门就 Oracle 的日期及时间显示方式和插入方式记一笔 工作中要用到 Oracle 10g,经常要向其中的某张表插 ...

最新文章

  1. react按需加载(getComponent优美写法),并指定输出模块名称解决缓存(getComponent与chunkFilename)...
  2. poj1195(二维树状数组)
  3. 你想要的宏基因组-微生物组知识全在这(181101)
  4. 怎么安装python的包_python下如何安装.whl包?
  5. 邀请函|WorkShop报名通道开启,来就送礼!
  6. python常用api_[原创]IDAPython常用API整理
  7. 【SpringBoot与SpringCloud的一些根本】
  8. python自学行吗-python自学行吗?给编程初学者零基础入门的建议
  9. html JS实现下拉菜单,vue.js怎么实现下拉框
  10. 台达PLC变频器通讯程序
  11. 机动车尾气排放智能抓拍解决应用方案
  12. No tests found for given includes: [xxx.xxx.testList](filter.includeTestsMatching)
  13. Fiddler抓包夜神模拟器
  14. 浅析negroni-gzip 过滤器的源码
  15. UTF-8 带BOM 和 UTF-8无BOM 的区别?
  16. c++日志工具之——log4cplus
  17. L2正则化—tensorflow实现
  18. 自动化学报latex模板——ctex2.4.6和ctex2.9.2直接使用步骤
  19. 【What if 系列】风挡与雨滴
  20. 问题解决:Excel 判断语句_绝对值_清除表格格式

热门文章

  1. 实验四+040+薛龚
  2. php 判断字符串中是否包含另一个字符串 strpos
  3. cblas_saxpy catlas_sset
  4. 28、Windows API Shell任务栏通知区域(Tray)图标
  5. 终于找到了满意的博客主题
  6. c语言CString转数字函数,CString与16进制的CByteArray之间相互转化
  7. Python提取docx文档中例题、插图、表格清单
  8. threejs 源码解析_threejs demo
  9. java 元组 getinteger_TS数据类型:从C++/Java/Python到TS看元组tuple—元组的来龙去脉...
  10. 计算机名称 steam,Steam电脑配置排名:前19名都是N卡