我试图像这样制作Kann表:
CREATE TABLE Kann(
id integer NOT NULL PRIMARY KEY,
MiNr integer REFERENCES Employer(MiNr),
FNr integer REFERENCES Ability(FNr)
);
问题在于,当我在Kann
,Cooperation
和{{1}中手动插入数据时,我希望Oracle自动在Ability
和Employer
表格中插入数据表。
怎么可能?我应该使用触发器还是其他PL / SQL元素,或者我只能使用SQL吗?
答案 0 :(得分:0)
你的问题不合逻辑。忘记编码,SQL等,只需用普通语言思考。
表雇主列出您的所有雇主,显示身份证号码及其姓名。没有其他信息。类似地,表能力显示所有已识别的“能力”,由数字标识并用名称描述。
您希望Oracle(或其他任何人)知道哪个雇主具有哪些能力或能力?怎么样?
如果可以从数据库中的任何其他地方知道哪个雇主具有哪种能力,那么您首先不需要Kann表(事实上,在数据库中使用它会违反常态,在大多数情况下,这是数据库非常理想的质量。)
答案 1 :(得分:0)
您只能从现有代码ER
构建图表您不需要triger或其他东西,只需在数据库之间执行relation。 2个表之间的关系匹配其中一个表中的主键与第二个表中的外键。
或者只在数据库中执行Foreign Key。一个表中的FOREIGN KEY指向另一个表中的PRIMARY KEY。
CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)
或者如果你有一张桌子:
ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)