用sys登录plsql后创建了一张表
create table classes
(
id number(9) not null primary key,
classname varchar2(40) not null
)
问题1:
删除列的时候报:alter table class drop column address  --无法删除属于sys的表
问题2:
修改列的时候报:
alter table class modify address addresssd varchar(40)  --非法的alter table 
问题3:
增加自增长的序列:
alter sequence class_seq increment by 1 start with 1 maxvalue 999999 nocycle nocache;
select class_seq.currval from classes         --无法改变其实序号小弟学过MS SQL,oracle刚接触,报的这些错误,在网上差了,说没有权限,可是我用的是sys最高的权限登录的。

解决方案 »

  1.   

    sys是Oracle数据库中权限最高的帐号,具有create database的权限,而system没有这个权限,
    sys的角色是sysdba,system的角色是sysoper。 
    建议不要在system用户里做这些操作,这是个特别的用户
      

  2.   

    我用sys登录试了一次,用其他的用户也试了一次,还是抱无法删除属于sys的表的列。
      

  3.   

    你不要在sys和system下做这些实验,你在scott用户里做
      

  4.   

    sys 用户 是不能删除所属表的列 ,但是可以修改,增加列 规定的
      

  5.   

    我把表删除了,用scott登录上去,重新建表,添加列还是没有问题,删除的时候还是老问题。
      

  6.   


    SQL> show user
    User is "SYS"
     
    SQL> drop table classes
      2  /
     
    Table dropped
     
    SQL> create table class(id number primary key)
      2  /
     
    Table created
     
    SQL> alter table class add name varchar2(10)
      2  /
     
    Table altered
     
    SQL> alter table class modify name varchar2(15)
      2  /
     
    Table altered
     
    SQL> alter table class drop column named
      2  /
     
    alter table class drop column named
     
    ORA-12988: 无法删除属于 SYS 的表中的列
     
      

  7.   

    意思就是sys用户建的表 不能删除sys建的表的列 但是可以修改列的属性 以及增加列 
    还有就是序列的除初始值外是能修改的 
      

  8.   

    我现在用sys用户删除那张表,然后用scott登录上去,创建表后,在增加列,删除列的时候时候报,说是sys的表不能删除列。
      

  9.   

    你是怎么登录scott用户的
    不会是conn scott/tiger as sysdba吧? 你只要有as sysdba 那你就是dba身份
    conn scott/tigerSQL> conn scott/tiger; 
    已连接。
    SQL> create table test(id int,
      2  address varchar2(20));表已创建。SQL> alter table test drop column address;表已更改。SQL> desc test;
     名称                                      是否为空? 类型
     ----------------------------------------- -------- ----------------------------
     ID                                                 NUMBER(38)
      

  10.   

    在plsql里面登录的。
    用户名:scott
    密码:scott
    数据库:CENTER_127.0.0.1
    连接为:sysdba
      

  11.   

    连接为:sysdba 错了 这样还是以sys登陆改成
    连接为:normal
      

  12.   

    我在安装的石斛只是设置了sys和system的密码,这个scott的密码真不知道是多少。汗了。
      

  13.   


    用sys用户登录;
    如果scott被锁定了,解锁该用户
    alter user scott account unlock;
    修改scott密码
    alter user scott identified by tiger;
      

  14.   

    搞定了,oracle学起来 MS SQL要难得多。