oracle某用户下,二张表,sx(学号,姓名),sy(学号,年龄),学号是主码,
现在新建一张表sx_sy(学号,姓名,年龄),建表sx_sy的时候没有定义主码,我想把表sx_sy的学号定义为主码,
但是,不论是用pl/sql,或者是sqlplus或者oracle的em,都无法成功。通过pl/sql更改 或者 在em中找到表sx_sy直接在约束条件中定义学号为主码,显示:“无法验证-违反主键”sqlplus中:alter table sx_sy add primary key(学号);提示是“无效的alter table选项”请问这是什么原因?怎样才能把sx_sy的学号属性改为主码呢?
现在新建一张表sx_sy(学号,姓名,年龄),建表sx_sy的时候没有定义主码,我想把表sx_sy的学号定义为主码,
但是,不论是用pl/sql,或者是sqlplus或者oracle的em,都无法成功。通过pl/sql更改 或者 在em中找到表sx_sy直接在约束条件中定义学号为主码,显示:“无法验证-违反主键”sqlplus中:alter table sx_sy add primary key(学号);提示是“无效的alter table选项”请问这是什么原因?怎样才能把sx_sy的学号属性改为主码呢?
查找、删除重复值的sql语句分别怎么写呢?
两张表,sx(a,b,c),sy(a,b,d),本来表sx中a是主键,表sy中b是主键、a是外码。
我想把sy的主键改为a,这时就出现了“无法验证-违反主键”的问题了!
按照后面的回复,我估计是sy中a的记录有重复(不知道对不对?),那么,我在sy表的b还是主键的情况下,查询、删除有重复记录a的sql怎么写呢?
(4楼回复的链接中的几种方法好像都不能立即解决我面临的问题,麻烦依照sx,sy两张表详细写一写sql语句)谢谢了~