今天我在SYS模式下创建一个学生表,然后在这个表上创建一个触发器,以跟踪不同专业的统计。结果出现错误--无法对SYS模式对像创建触发器的,而我是以SYS登陆系统的,怎么会出错呢?高手求解!谢谢

解决方案 »

  1.   

    很显然,你不应该在SYS用户下创建自己的表!
    把系统表和用户表混在一起是不明智的。
    解决方法是:创建一个新的用户,将你SYS用户下的表移过去,然后创建触发器。
      

  2.   

    怎么移植啊,是不是导出SQL语句,再删掉那张表,而后以创建的用户登陆然后再创建表,有点麻烦,有没有好的办法啊?高手们
      

  3.   

    create user test identified by test default tablespace users;
    grant connect,resource to test;
    grant select on sys.tablename test;
    conn test/test
    create table tablename as select * from sys.tablename;
    create or replace trigger ..................
      

  4.   

    不要在SYS用户下做业务,建议你建立一个用户。
      

  5.   

    新建个用户,建表~ 再建个用户,DBA权限,建trigger (这样trigger就比较保密)
      

  6.   

    --------------------------------------------------------------
    您好,我们是“2006中国杰出数据库工程师评选”活动组委会。
    您的帖子已经被我们转载到本次评选官方网站的“专家在线答疑”区。
    http://www.bestdba.cn/match_discussion.aspx在那里,进入本次评选复选的90位数据库工程师将与您展开积极的互动。
    一方面,他们会为您的问题提供满意的答案,
    另一方面,也邀请您为他们投上宝贵的选票。2006-7-8 ~ 2006-7-25日,每天我们将从当天参与"有奖投票"的网友
    中抽取3名幸运者,赠送由IBM提供的精美礼品一份!此外,您还可以在“专家在线答疑”区提出新的问题并参与讨论。您的帖子位于:
    http://www.bestdba.cn/match_discussion3.aspx?pointid=196&pointid2=1&pointid3=5&pcount=stc非常感谢您对本次活动的支持!
    --------------------------------------------------------------
      

  7.   

    错误已经说得很明显了:无法对SYS模式对像创建触发器sys的对象是不能创建触发器的,明白?呵呵
      

  8.   

    不能在Sys登录下建触发器,你可以另外建一个用户,再赋与创建触发器的权限 
    就可以创建数据库了