我只是想理解这个概念。
我有
TABLE A: ID | NAME | NUMBER
和
TABLE B: ID | A_ID (FK) | ENTERED_NUMBER
如何将TABLE A
中的NUMBER
中的数据放入TABLE B
中的ENTERED_NUMBER
?SQL是什么样子的?
另外,如果在Oracle APEX中输入相同的SQL,
表A在第2页,表B在第3页
因此,它们的字段/标签将是
表A
{ p2_ID, p2_NAME, p2_NUMBER }
表B
{ p3_ID, p3_A_ID, p3_ENTERED_NUMBER }
2条答案
按热度按时间kupeojn61#
您不需要这样做。您在FK -> PK上连接两个表并以这种方式检索数据
dhxwm5r42#
一般来说,这就是主-细关系的样子。
注意:我重命名了
number
列;你不能这样命名它,它是为数据类型保留的,所以我使用了c_
前缀。不过,如果你把它括在双引号中,你可以拥有这个名字,但我不建议你(也不建议任何人)这样做。在两个表中使用相同的列是没有用的(这就是
tablea.c_number
和tableb.entered_number
);你会违反 * 规范化 *,并产生一个小小的维护噩梦,因为你必须担心插入(将相同的值放入tableb
),更新(如果你更新tablea
,你会怎么做?修改tableb
,可能。但是,如果你先修改tableb
呢?你会把它传播回主表tablea
吗?)。很快-不要这样做。多个样本行:
连接这些表的查询:
关于Apex:
tablea
项放到第2页tableb
项放到第3页P3_A_ID
项目值设置为P2_ID
。这样,当您从第2页导航到第3页时,Apex将使用P2_ID
值预填充P3_A_ID
项