EBS_DBA_问题:关于外键

 

外键的功能很强大,可以解决很多问题.主要作用:

建立表之间的关联关系

语法:

CREATE TABLE table_name
(
  column1 datatype null/not null,
  column2 datatype null/not null,
  ...
  CONSTRAINT fk_column
      FOREIGN KEY (column1,column2,...column_n)
      REFERENCES parent_table (column1, column2,... column_n)
      ON DELETE CASECADE
);

其中级联关系很有意思:

 

外键建立在子表上(也就是1对多,或者多对1的"多表"上)

其中级联删除上面

no action 的意思为删除主表,对子表的数据不影响;

cascade   的意思为删除主表,对子表的数据也删除;

set null   的意思为删除主表,对子表的数据设置为空;--(应该是该列,没做过验证)

另外验证的勾,会去验证主表和子表的关系

如果子表里面的数据在主表里面搜不到,则不能通过,手工看看哪个数据有问题

Select 
h.header_id As a,
l.header_id As b,
l.Line_Id  

From Cux_Hrsc_Headers_t h, 
Cux_Hrsc_Lines_t l

Where 1 = 1
And h.Header_Id(+) = l.Header_Id
And  h.Header_Id Is Null
And l.Line_Id Is Null

DELETE FROM CUX_HRSC_LINES_T WHERE line_id = 1752

 

posted @ 2016-09-28 16:31  BIT10  阅读(157)  评论(0编辑  收藏  举报