不指明表的归属会在登陆用户下找,你登陆的用户是BOOK吗?如果不是,在该用户下有表LIST吗

解决方案 »

  1.   

    book 是用户名 (也是schema名, 方案名)
    如果登陆的用户是BOOK,
    那么这两句sql是等价的;如果登陆的用户不是BOOK, 比如用system, sys什么的用户登陆, 
    那么他们只能用SELECT * from BOOK.LIST 来查询
      

  2.   

    BOOK.LIST是用户名下面的list表
    如果你现在不是用book用户登录
    那你就用select * from BOOK.LIST
    若是 两个是相同的
      

  3.   

    select * from list
    查找当前用户下是否有名为'list'的表或者视图,有则查询;若没有,则查找是否有名为'list'的同义词;SELECT * from BOOK.LIST
    查找BOOK Schema下是否有名为'list'的表或者视图,有则查询
      

  4.   

    表名前面可以带用户名,如果不指定默认当前已连接用户名
    表名后面可以带@远程链接名,如果不指定默认本地数据库实例
    如果程序不方便修改可以使用同义词来解决:
    将LIST定义为BOOK.LIST的同义词
      

  5.   

    登陆的用户是BOOK,
    那么这两句sql是等价
      

  6.   

    不指明表的归属会在登陆用户下找,你登陆的用户是BOOK吗?如果不是,在该用户下有表LIST吗