alter session set current_schema  是什么意思

解决方案 »

  1.   

    使用CURRENT_SCHEMA之后,当前会话所参考的默认SCHEMA变为设置的用户,而不再是当前的用户
      

  2.   

    修改当前会话的current_schema值
      

  3.   

    CURRENT_SCHEMA是什么啊??????
      

  4.   

    用于切换当前会话的架构(schema)。在进行对象名解析时,如果对象名前没有限定架构名,oracle 会自动在此架构下查询匹配的对象。例如,当 scott 用户执行 select * from emps; 语句时,oracle 默认会查询 scott 架构下的 emps 表;但是,如果 alter session set current_schema=xx; 更改了会话的当前架构,执行此语句时 oracle 会查询 xx 架构下的 emps 表。
      

  5.   

    通常在一个用户下去访问另一个用户的对象时,需要这样<用户名>.<对象名(如表名)>
    但是设置current_schema为另一个的<用户名>后,就不需要再加限定(对象前加用户名)了,
    注意:这个只是为了简化访问其它用户的对象,但当前用户并没有改变。你可以使用
    select user from daul来查看当前的用户名。
      

  6.   


     一个列子 没改之前  
    select * from username.tab运行之后
    alter session set current_schema=username
    select * from tab
      

  7.   

    当前会话的架构(schema)。 是什么??? 数据库名?
      

  8.   

    架构可以看作数据库对象的容器,在 ORACLE 中架构下的对象都是为与架构对应的用户帐户所有。
    在引用架构下的对象时,需要提供架构作为限定;如果没有提供架构名,则 ORACLE 会自动用当前会话的默认架构名作为限定,在此架构下查找该对象。当前会话的架构默认与当前会话的登陆用户名一致,但是可以通过 CURRENT_SCHEMA 修改此架构名。
      

  9.   

    默认的schemaname,也就是你没有给一个对象指定schema的时候,就用这个默认的schema,默认的schema一般是用户名相同的schema名,你可以通过上面命令指定这个。改命令是一个帮助性质的命令,不是管理命令。