我有如下表格:
坦克桌
CREATE TABLE fishtank(
tanknum number(8),
temperature number(6,2),
capacity number(10),
primary key(tanknum));
Name Null Type
----------- -------- -----------
TANKNUM NOT NULL NUMBER(8)
TEMPERATURE NUMBER(6,2)
CAPACITY NUMBER(10)
鱼型
CREATE TABLE type(
species varchar2(20),
mintemp number(6,2),
maxtemp number(6,2),
primary key(species));
Name Null Type
------- -------- ------------
SPECIES NOT NULL VARCHAR2(20)
MINTEMP NUMBER(6,2)
MAXTEMP NUMBER(6,2)
吃
CREATE TABLE eats(
species1 varchar2(20),
species2 varchar2(20),
primary key(species1, species 2),
foreign key(species1) references type,
foreign key(species2) references type);
Name Null Type
-------- -------- ------------
SPECIES1 NOT NULL VARCHAR2(20)
SPECIES2 NOT NULL VARCHAR2(20)
现在是这样的,有一个不同种类的鱼缸。我想把鱼放进鱼缸。吃指定哪两个物种互相吃。如果我们在吃像
species1='a' species2='b'
这意味着物种'a'吃'b',所以我们不能把它们都放在同一个缸里。现在我正在尝试创建一个名为 fish 的表,它应该有
name
species
tanknum
在创建表格时,我想在这里添加一个条件,即同一个鱼缸中的任何两条鱼都不应该互相吃掉。我想使用检查约束来实现这一点,并且我正在研究 oracle SQL。需要一些帮助。