2 love sun smile love_sun_smile 于 2016.09.23 10:47 提问

Oracle数据库中 两张表不同的列之间有主外键联系怎么弄?
 代码如下  
          --订单明细表

create table SALE_ORDER_LINE(
ODL_ID NUMBER(10) PRIMARY KEY, --PK
ODL_ORDER_ID NVARCHAR2(10), --FK
ODL_PRODUCT_NAME NVARCHAR2(100),
ODL_PRODUCT_PRICE NUMBER(11,2),
ODL_PRODUCT_COUNT NUMBER(10)
)

FK_ODL_ODR

--订单信息
create table SALE_ORDER(
ODR_ID NUMBER(10) PRIMARY KEY, ---PK
ODR_CUSTOMER_ID NUMBER(10),
ODR_CUSTOMER_NAME NVARCHAR2(100),
ODR_DELIVER_ADDR NVARCHAR2(500),
ORD_ORDER_DATE DATE,
ODR_DELIVER_DATE DATE,
ODR_STATUS NVARCHAR2(5)

)

两个不同名称的列如何创建主外键关系????

1个回答

Veggiel
Veggiel   2016.09.23 11:08

在订单信息表中第一列改成ODR_ID NUMBER(10) references SALE_ORDER_LINE(ODR_ID) PRIMARY KEY

love_sun_smile
love_sun_smile 这样就可以了吗??
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
两个表用HQL语句进行左右连接,前提是不是两个表需要有主外键关系?
两个表用HQL语句进行左右连接,前提是不是两个表需要有主外键关系? (2011-08-23 14:15:37)转载▼ <div class="articalTag" id="sina_keyword_ad_area"> <table> <tbody><tr> <td clas
多表联查,两表之间相互关联,不一定需要有主外键关系,字段匹配就行
Set @dlr = 15001; SELECT school.name AS schoolName, xq.xqmc AS xqmc, qy.mc as qymc, ly.bz as lymc, fj.bz as fjmc FROM t_xsgy_ssap ssap                 LEFT JOIN t_xsgy_cwgl cwgl ON cwgl.id=ssap.cw
【心得】不建立主外键关系也可以关联两个表;
用主外键关系可以关联两个或多个表,进行查询,但是,我也可以使用where tableName1.column1=tableName2.column2;来查询,差别不大,这个逻辑怎么理解?我是这么理解的,你是个男的,你要找一个女人生孩子,你可以找个老婆,确立夫妻关系,然后生宝宝。你也可以找一个女人为你生宝宝,但是不结婚。前者就是建立主外键关系,夫妻关系就是你们的约束。后者就是where条件,后者更灵
(二)表的连接与外键约束
外键约束和表连接 【建立表的关系】 1.额外建立一张表描述两个表之间的关系,存储两张需要连接的表的主键对应关系。 2.利用外键约束 外键:一张表的某个字段引用着另一张表的主键,在数据多的表中多一个字段,存储对应的另一张表的主键。 外键的创建: CONSTRAINT FOREIGN KEY REFERENCES (); 级联: 删除了一部分,有对应关系的
Oracle 中删除2个相关联的表(主外键表)
删除2个相关联表中的数据(主从表)的几种方案: 使用触发器,删除主表数据时,触发删除从表中的数据;使用存储过程,先删除从表记录,再删除主表中的数据;直接进行操作,建立一个事务,先删除从表数据,再删除主表中的数据; 我写的存储过程,及测试语句: CREATE OR REPLACE PROCEDURE MY_DELETE(ID NUMBER, QTYPE VARCHAR2, FLAG
多表在没有外键下的联合查询
select a.yf as 日期,a.je as 实际销售金额,to_number(b.WHIR$T3232_f8968,'999999999.99') as 预算金额 from (select to_char(to_date(WHIR$T3231_f8958,'yyyy-mm-dd'),'yyyy-mm') yf ,sum(to_number(WHIR$T3231_f8960 ,'999999
项目中多表关联查询,没有外键关联
今天项目中碰见多表查询,订单表,商品表(作业更新,商品-门店,每个门店有相同的商品,所有商品重复),门店表,现在要关联查询三个表,根据门店号查出所有商品,订货情况; 我的思路是新建对象,将要展示的数据封装。用sql语句查询 String sql="select isnull(o.oid,0) as oid,g.goodscode,g.goodsname,isnull(o.qty,0) as q
一对多关系通过外键关系连接两个表,而没有中间的表。
一对多关系通过外键关系连接两个表,而没有中间的表。 首先先引用一段对集合的释义:   Bag:对象集合,每个元素可以重复。例如{1,2,2,6,0,0},在.Net中相当于IList或者IList实现。 Set:对象集合,每个元素必须唯一。例如{1,2,5,6},在.Net中相当于ISet或者ISet实现,Iesi.Collections.dll程序集提供ISet集合。 List:整数索
如何在SQL Server 2005中建立主外键关系?如何实现级联删除效果?
问题:如何在SQL Server 2005中建立主外键关系?如何实现级联删除效果? 解决方法:最好是在“数据库关系图”中建立,添加主表student(Id,Name,ClassId)和从表class(ClassId,ClassName)然后将从表class的主键ClassId“小钥匙”图标拖拽到主表student上,在出现的对话框中:左侧是主键表class(ClassId),右
数据库存在外键约束的情况下如何插入数据
1.已知两个表格之间的关系如图所示,我们可以知道stucou表中的couno为course表中couno的外键(这里可以查看外键的相关知识)现在我们要往stucou表中插入数据。1.由于外键的约束,我们首先必须在course表中插入相应的数据(也就是两个表格对应的couno值必须一致)insert into Course values('110','课程名','课程类别','4.0','老师名',...