ORA-04044: 此处不允许过程, 函数, 程序包或类型和

用Orale代码建表时,出现

SQL> comment on column SCORE.cno
2 is '学号(外键)';
comment on column SCORE.cno
is '学号(外键)'
ORA-04044: 此处不允许过程, 函数, 程序包或类型
SQL> comment on column SCORE.cname
2 is '课程号(外键)';
comment on column SCORE.cname
is '课程号(外键)'
ORA-04044: 此处不允许过程, 函数, 程序包或类型
SQL> comment on column SCORE.tno
2 is '成绩';
comment on column SCORE.tno
is '成绩'
ORA-04044: 此处不允许过程, 函数, 程序包或类型
SQL> alter table SCORE
2 add constraint PK_SCORE primary key (SNO,CNO);
alter table SCORE
add constraint PK_SCORE primary key (SNO,CNO)
ORA-00942: 表或视图不存在

解决:

看代码有没有写错,比如列名,标点英文的逗号和分号。建表时,每一列结束用逗号,每一个阶段结束用分号。分号在oracle相当于生活中句号。

比如student主键sno没建成功,任何与主键sno有关的外键就不会建成功。主键没成功可能是因为学号sno的序号数字有重复。

原文地址:https://www.cnblogs.com/hanruyue/p/5947569.html