首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

删除表时,表上的约束没跟着被删除?解决方案

2012-04-22 
删除表时,表上的约束没跟着被删除?SQL code--第一步:创建表,及相应的主键约束pk_test_idSQL create table

删除表时,表上的约束没跟着被删除?

SQL code
--第一步:创建表,及相应的主键约束pk_test_idSQL> create table test(id number constraint pk_test_id primary key);Table created.--第二步:此时总共有9个约束SQL> select constraint_name from user_constraints;CONSTRAINT_NAME------------------------------BIN$vL7ij8sVLTjgQAB/AQAPeg==$0PK_TEST_IDBIN$vL7ij8sYLTjgQAB/AQAPeg==$0BIN$uvy0dxvyoYvgQAB/AQAMpQ==$0BIN$uvy0dxwAoYvgQAB/AQAMpQ==$0BIN$uvy0dxvsoYvgQAB/AQAMpQ==$0BIN$uvy0dxvvoYvgQAB/AQAMpQ==$0BIN$uvy0dxv6oYvgQAB/AQAMpQ==$0BIN$uvy0dxv9oYvgQAB/AQAMpQ==$09 rows selected.--第三步:删除表,按理说相应的约束应该被干掉了SQL> drop table test;Table dropped.--第四步:此时还有9个约束,只是把约束的名称改了下,难道相应的约束没被干掉?SQL> select constraint_name from user_constraints;CONSTRAINT_NAME------------------------------BIN$vL7ij8sVLTjgQAB/AQAPeg==$0BIN$vL7ij8sYLTjgQAB/AQAPeg==$0BIN$vL7ij8sbLTjgQAB/AQAPeg==$0BIN$uvy0dxvyoYvgQAB/AQAMpQ==$0BIN$uvy0dxwAoYvgQAB/AQAMpQ==$0BIN$uvy0dxvsoYvgQAB/AQAMpQ==$0BIN$uvy0dxvvoYvgQAB/AQAMpQ==$0BIN$uvy0dxv6oYvgQAB/AQAMpQ==$0BIN$uvy0dxv9oYvgQAB/AQAMpQ==$09 rows selected.

请高手们帮忙解释下,谢谢。

[解决办法]
SQL code
SQL> create table test(id number constraint pk_test_id primary key); Table createdSQL> select table_name from user_tables; TABLE_NAME------------------------------TESTSQL> select table_name,constraint_name from user_constraints; TABLE_NAME                     CONSTRAINT_NAME------------------------------ ------------------------------TEST                           PK_TEST_IDSQL> drop table test; Table droppedSQL> select table_name from user_tables;    --BIN$VnncqINTRy+7ruGTE76IlQ==$0为删除后的表名 TABLE_NAME------------------------------BIN$VnncqINTRy+7ruGTE76IlQ==$0    SQL> select table_name,constraint_name from user_constraints;    --table_name跟user_table的表名相同,可以关联上 TABLE_NAME                     CONSTRAINT_NAME------------------------------ ------------------------------BIN$VnncqINTRy+7ruGTE76IlQ==$0 BIN$nIZCU2gMRrujmIOafsDtBg==$0SQL> flashback recyclebin;   --清空回收站 DoneSQL> select table_name from user_tables; TABLE_NAME------------------------------SQL> select table_name,constraint_name from user_constraints; TABLE_NAME                     CONSTRAINT_NAME------------------------------ ------------------------------ 

热点排行