ITPub博客

首页 > 数据库 > Oracle > Questions——无法删除SYS用户下表的列

Questions——无法删除SYS用户下表的列

原创 Oracle 作者:roypal 时间:2009-09-08 09:19:33 0 删除 编辑

朋友刚开始学习ORACLE 做练习的时候

以SYS用户创建了一个表 并插入了数据

之后想要修改表结构 删除其中一列 结果提示

无法删除属于 SYS 的表中的列...

[@more@]

这个问题我也做了如下实验

---------------------------------------------
C:>sqlplus / as sysdba

SQL*Plus: Release 10.1.0.2.0 - Producti

Copyright (c) 1982, 2004, Oracle. All


连接到:
Oracle Database 10g Enterprise Edition
With the Partitioning, OLAP and Data Mi

SQL> create table abc (a int,b int);

表已创建。

SQL> insert into abc values(1,10);

已创建 1 行。

SQL> commit
2 ;

提交完成。

SQL> select * from abc;

A B
---------- ----------
1 10

SQL> alter table abc drop column a;
alter table abc drop column a
*
第 1 行出现错误:
ORA-12988: 无法删除属于 SYS 的表中的列

-------------------------------------------------------------

测试1:system用户登入 删除sys用户创建的列 仍然无法删除

测试2:将该列设为空 仍然无法删除

后来看了些前辈的文章才知道 以sys用户创建的表无法修改该表的结构……

--===总结: 操作系统认证以SYS登陆后创建的表 即sys.table 无法修改表结构 无论该列是否为空

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21143113/viewspace-1026730/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 基础开始——undo
请登录后发表评论 登录
全部评论

注册时间:2009-03-18

  • 博文量
    29
  • 访问量
    32215