如题,只能看不能改,如何操作,若用SQL语句如何实现

解决方案 »

  1.   

    创建一个用户,然后,只赋予这个用户相关表或视图上的SELECT权限,就可以实现只能看,不能修改的目的了
      

  2.   

    具体的SQL语句可用:create user username identified by passwordgrant select on table to username
      

  3.   

    我在sql plus 中运行"create user myname identified by myname"时候,提示"无效create命令",怎么回事
      

  4.   

    grant   select   on   table   to   username 中的"table"是指某一个具体的表名吗!
    “create   user   myname   identified   by   myname”中不指定表空间,然后在执行
    “grant   select   on   table   to   myname”,那么这个权限的设置是指针对所有的表空间里的所有表吗!
      

  5.   

    grant       select       on       table       to       username中“TABLE”是具体表名。用grant select any table to xxx,则这个被授权用户能查询所有模式下的表,
    如果只想授权一个模式下的所有或部分表给某个用户,在过程中用动态sql来实现。
      

  6.   

    我在oracle界面中添加了一个用户liang,然后在角色设置里给liang分配了connect的角色,在权限设置里给他分配了“select any table”,
    这样难道就可以限制liang对任何表具有只读权限吗?
    实际上我用liang登录以后,还是可以用鼠标创建表和更改表里的数据,怎么回事啊(我的oracle装在本地,并在本地操作)
      

  7.   

    CONNECT 的默认权限: ALTER SESSION CREATE CLUSTER CREATE DATABASE LINK CREATE SEQUENCE CREATE SESSION CREATE SYNONYM CREATE TABLE CREATE VIEW所以你想让这个用户在自己模式下也不能create,alter的话,不要给connect角色,用grant create session to XXX和grant select on t to xxx
      

  8.   

    我用系统默认的用户(即sys)登录sql plus,执行“grant create session to mydb和grant select on sys.temp to mydb”,然后以mydb用户登录,但依然可以更表temp的数据,设置还可在sys里创建表
    为什么???
      

  9.   

    你用mydb登陆,看看user_sys_privs、user_role_privs、user_tab_privs
    应该是这个用户之前被授予过别的权限。