Попытка обновить атрибут в имени COLUMN в таблице SKILL, но это мне не позволяет, потому что в таблице SPOSSESSED и SREQUIRED есть внешние ключи CONSTRAINT.
Эти внешние ключи также указываются как первичные ключи CONSTRAINT и поэтому не могут иметь значение NULL.Как мне поступить с этим?
Вот таблицы:
CREATE TABLE SKILL(
sname VARCHAR(30) NOT NULL, /* Skill name */
CONSTRAINT SKILL_pkey PRIMARY KEY ( sname ) );
CREATE TABLE SREQUIRED(
sname VARCHAR(30) NOT NULL, /* Skill name*/
requires VARCHAR(30) NOT NULL, /* Skill required*/
slevel DECIMAL(2) NOT NULL, /* Level required*/
CONSTRAINT SREQUIRED_pkey PRIMARY KEY ( sname, requires ),
CONSTRAINT SREQUIRED_fkey1 FOREIGN KEY ( sname) REFERENCES SKILL( sname ),
CONSTRAINT SREQUIRED_fkey2 FOREIGN KEY ( requires ) REFERENCES SKILL( sname ) );
CREATE TABLE SPOSSESSED(
anumber DECIMAL(6) NOT NULL, /* Applicant number*/
sname VARCHAR(30) NOT NULL, /* Skill name*/
slevel DECIMAL(2) NOT NULL, /* Skill level*/
CONSTRAINT SPOSSESSED_pkey PRIMARY KEY ( anumber, sname ),
CONSTRAINT SPOSSESSED_fkey1 FOREIGN KEY ( anumber ) REFERENCES APPLICANT ( anumber ) ON DELETE CASCADE,
CONSTRAINT SPOSSESSED_fkey2 FOREIGN KEY ( sname )REFERENCES SKILL ( sname ),
CONSTRAINT SPOSSESSED_check1 CHECK ( slevel IN ( 1,2,3,4,5,6,7,8,9,10 ) ) );