我在表中设立一个外键
create table menu_order(
menu_o_seat number(10),
menu_o_name varchar2(20),
menu_o_num number(10),
menu_o_date date,
foreign key(menu_o_name) references menu_hotel(menu_h_name)) !!!!!!!!!!当时为了方便,这个外键就没用 constraint 现在想要把这个外键删除
alter table menu_order drop foreign key(menu_o_name)
但却删除不了请问该怎么办啊
create table menu_order(
menu_o_seat number(10),
menu_o_name varchar2(20),
menu_o_num number(10),
menu_o_date date,
foreign key(menu_o_name) references menu_hotel(menu_h_name)) !!!!!!!!!!当时为了方便,这个外键就没用 constraint 现在想要把这个外键删除
alter table menu_order drop foreign key(menu_o_name)
但却删除不了请问该怎么办啊
解决方案 »
- VS2005连接ORACLE10G的OCCI程序问题
- oracle内网移动到机房出现的问题
- 本人一直用SQL SERVER数据库,但是现在要求用oracle数据库,怎么快速入门?
- 在导入oracle数据时,出现下面的异常提示,有一个表未导入,我该怎么办呢?如何单独导入这个表呢?
- alter table new_emp add constraint fk_dept_no foreign ......deferrable initially immediate; 中deferrable initially immediate具体
- IMP时报IMP-00020错误,在线请大家帮忙
- “select '&a' from dual;”为什么提示:输入a的值
- when no_data_found异常出错?
- 请问如何查看一个表空间下得所有表阿?找了半天都没找到
- 问一个关于jdbc连接的问题
- 在.net中怎么样调用oracle中的关键字作为字段
- oracle9.2 aix client在哪个安装盘里?
SELECT t.constraint_name
FROM user_constraints t
WHERE t.table_name = 'MENU_ORDER';--删除上面查询到的约束
ALTER TABLE menu_order drop CONSTRAINT SYS_C005452;
未选定行是你在查询的时候提示 还是在你删除的时候?
如果是在查询的时候,说明这个表并没有相关的键约束ALTER TABLE menu_order drop CONSTRAINT SYS_C005452;
这句要根据你查询出来的 为
SELECT t.constraint_name
FROM user_constraints t
WHERE t.table_name = 'MENU_ORDER' and t.constraint_type='R';
的名称来改变的
SELECT *
FROM USER_CONS_COLUMNS
WHERE TALBE_NAME='accounts';--找出主键名,然后删除即可
ALTER TABLE ACCOUNTS DROP CONSTRAINT SYS_C003063;
create table student (
id number,
name varchar2(20),
constraint pk_ta primary key (id))
/
create table achievement(
id number
constraint fk_rf_stu references student(id),
course_name varchar2(20),
grade number)
/
SQL> select constraint_name
2 from user_constraints
3 where table_name='STUDENT';
CONSTRAINT_NAME
------------------------------
PK_TA
SQL> select constraint_name,column_name
2 from user_cons_columns
3 where table_name='STUDENT'
4 /
CONSTRAINT_NAME COLUMN_NAME
------------------------------ --------------------------------------------------------------------------------
PK_TA ID
SQL> select constraint_name,column_name
2 from user_cons_columns
3 where table_name='ACHIEVEMENT'
4 /
CONSTRAINT_NAME COLUMN_NAME
------------------------------ --------------------------------------------------------------------------------
FK_RF_STU ID
SQL> alter table achievement drop constraint fk_rf_stu;
Table altered
SQL> select constraint_name,column_name
2 from user_cons_columns
3 where table_name='ACHIEVEMENT'
4 /
CONSTRAINT_NAME COLUMN_NAME
------------------------------ --------------------------------------------------------------------------------
SQL>
oracle alter table 命令简介
用plsqldev 工具 ,查看表结构看看吧。 确认一下是否真的有外键。