`
JadeLuo
  • 浏览: 425786 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

解决oracle表的主键被另一个表作为外键关联使用后主表无法清空问题思路

阅读更多

select c.constraint_name,
       c.table_name,
       c.constraint_type,
       c.r_constraint_name
  from user_constraints c
 where c.r_constraint_name like ='%DMS_BD_VORDERMAS%'

   and c.constraint_type = 'R'

 

1主表定义

-- Create table
create table DMS_BD_VORDERMAS
(
  ID              VARCHAR2(30),
  CUSTORDERCODE   VARCHAR2(30) not null,
  ORDERDATE       DATE,
  PATHCODE        VARCHAR2(30),
  CUSTCODE        VARCHAR2(30),
  DELIVERYMANCODE VARCHAR2(30),
  QUANTITYSUM     NUMBER,
  AMOUNTSUM       NUMBER(9,2)
)
tablespace HUIKE
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 2
    minextents 1
    maxextents unlimited
  );
-- Create/Recreate primary, unique and foreign key constraints 
alter table DMS_BD_VORDERMAS
  add constraint PK_DMS_BD_VORDERMAS primary key (CUSTORDERCODE)
  using index 
  tablespace HUIKE
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 576K
    minextents 1
    maxextents unlimited
  );

 

2从表定义(引用以上表的主键作为外键,导致主表不能直接清空,需将此表外键先disable再清空主表,再使从表的外键可用即可

-- Create table
create table DMS_DM_VORDERPRO
(
  ID            VARCHAR2(30),
  PROCODE       VARCHAR2(30) not null,
  CUSTORDERCODE VARCHAR2(30) not null,
  PRONAME       VARCHAR2(30),
  QTY           NUMBER,
  ORDERDATE     DATE,
  REMARK        VARCHAR2(100)
)
tablespace HUIKE
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
-- Create/Recreate primary, unique and foreign key constraints 
alter table DMS_DM_VORDERPRO
  add constraint PK_DMS_DM_VORDERPRO primary key (PROCODE, CUSTORDERCODE)
  using index 
  tablespace HUIKE
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
alter table DMS_DM_VORDERPRO
  add constraint FK_DMS_DM_V_REFERENCE_DMS_BD_V foreign key (CUSTORDERCODE)
  references DMS_BD_VORDERMAS (CUSTORDERCODE);

 

 

分享到:
评论

相关推荐

    Hibernate 一对一关联映射(主键关联VS唯一外键关联)

    唯一外键关联是指在一方实体中增加一个字段,该字段作为另一方实体的主键的外键,且该外键是唯一的,从而形成一对一的关系。 2. 实现方式: - XML配置:使用`<one-to-one>`元素,`property-ref`属性指明关联的...

    oracle表主键和外键的区别

    2. 不是主键:一个表可以有多个唯一键,但只有一个主键。 **左联接**和**右联接**是SQL中的两种联接类型,用于合并两个或更多表的数据: 1. 左联接(LEFT JOIN):返回左表的所有记录,以及右表中匹配的记录。如果...

    在powerdesigen中建立主外键关联表

    外键(Foreign Key)则是引用另一个表的主键,用于建立两个表之间的关系,确保数据的一致性和参照完整性。 步骤1:创建概念数据模型(Conceptual Data Model,CDM) 打开PowerDesigner,选择“文件”>“新建”>...

    oracle建表练习(主键外键)

    每个表中都定义了一个主键,并使用了CONSTRAINT关键字来约束。 在student表中,我们以“学号”(sno)作为主键,使用了“pk_student”作为约束名。在course表中,以“课程编号”(cno)作为主键,使用了“pk_course...

    oracle_创建表空间、表、主键、外键、序列.docx

    在Oracle数据库管理系统中,创建表空间、表、主键、外键和序列是数据库设计的基础操作。以下是对这些概念的详细解释以及如何在Oracle中执行这些操作。 **创建表空间** 表空间是Oracle数据库中存储数据文件的地方。...

    oracle创建表空间、表、主键、外键、序列

    假设有一个`DEPARTMENTS`表,我们可以在`EMPLOYEES`表上创建外键关联`DEPARTMENT`字段: ```sql ALTER TABLE EMPLOYEES ADD CONSTRAINT FK_EMP_DEP FOREIGN KEY (DEPARTMENT) REFERENCES DEPARTMENTS (DEPT_NAME); ...

    如何在oracle中查询所有用户表的表名、主键名称、索引、外键等

    `constraint_name` 在两个表中被用作关联字段,从而能够获取到准确的主键信息。 ### 3. 查询所有用户表的唯一性约束 #### SQL 语句: ```sql SELECT column_name FROM user_cons_columns cu, user_constraints au ...

    hibernate一对一之唯一外键关联(双向关联)

    - 在一对一关联中,唯一外键关联是指在一个实体中定义了另一个实体的主键作为其字段,形成外键约束,确保了数据的一致性和完整性。 3. **双向关联与单向关联** - **单向关联**:只有一方知道另一方的存在,例如...

    oracle设置主外键即主键序列自动增长

    `groupinfo` 表同样具有一个主键 `groupinfo_id` 和一个名称字段 `groupinfo_name`。 ##### 3. 添加外键约束 ```sql ALTER TABLE userinfo ADD CONSTRAINT u_g FOREIGN KEY (groupinfo_id) REFERENCES groupinfo ...

    Hibernate一对一唯一外键关联映射(双向关联)

    在数据库设计中,这种关系通常通过主键和外键的方式实现,其中一方的主键作为另一方的外键,确保了两表间的一对一关系。 二、唯一外键关联映射 在Hibernate中,一对一关联可以通过配置XML映射文件或使用注解来实现...

    Hibernate一对一单向外键关联 (联合主键annotation)

    以下是一个示例,假设我们有两个实体,一个是`Person`,另一个是`Passport`,它们之间是一对一的单向外键关联,且`Passport`的主键由`PersonId`和`SerialNumber`组成: 1. 首先,定义联合主键类`PassportId`: ```...

    外键关联整理脚本

    1. **外键定义**:外键是表的一个字段,它的值必须匹配另一个表的主键或唯一约束的值。它将一个表(子表)与另一个表(父表)连接起来,形成表间的关系。 2. **外键约束**:定义外键的同时,通常会添加外键约束,以...

    oracle主外键查询

    在一个表中只能定义一个主键,且主键值不允许为空。主键可以由单个字段构成,也可以由多个字段构成(复合主键)。设置主键后,Oracle会自动创建一个唯一索引,用以提高查询效率。 #### 2. 外键(Foreign Key) 外键...

    主键和外键.doc

    在关系型数据库中,每条记录都有若干个属性(字段),如果其中的一个属性组能够唯一地标识一条记录,那么这个属性组就可以成为一个主键。例如: - **学生表**(学号,姓名,性别,班级):每个学生的学号是唯一的,...

    查询某个表作为其他表的外键

    就是为程序员提供了一条可以查询表的主键被其他表引用为外键情况的查询

    查询一个表的所有外键名称,主键名称,主键列ID,主键列名,外键表ID,外键列ID,外键列名

    查询一个表的所有外键名称,主键名称,主键列ID,主键列名,外键表ID,外键列ID,外键列名 级联更新,级联删除,索引名称,索引字段名,索引字段位置

    hibernate一对一唯一外键关联映射(双向关联)

    一对一关联意味着一个实体只能与另一个实体的单一实例相关联,这种关系通常出现在两个表之间,其中一个表的主键作为另一个表的外键。在Hibernate中,可以使用`@OneToOne`注解来建立这种关联。 ### 2. 唯一外键关联 ...

    Hibernate关联映射-one to one单向外键关联

    假设我们有两个实体,一个是`User`,另一个是`Account`,`User`实体拥有对`Account`的引用。在`User.hbm.xml`文件中,我们将定义如下配置: ```xml <!-- 其他属性 --> ``` 在这个配置中,`name`属性指定...

    24.Oracle的主键和外键1

    外键是用来连接两个表的字段,它引用了另一个表(主表)的主键,以建立两个表之间的关联。外键的作用在于: 1. **确保数据一致性**:通过外键约束,数据库系统自动检查从表中的外键值是否存在于主表的主键中,防止...

Global site tag (gtag.js) - Google Analytics