创建表的语句:
create table CT_USER.CT_TABLE1
(
  AA VARCHAR2(200),
  BB NUMBER,
  CC VARCHAR2(200)
)
为什么查询表数据的时候都要这样写呢:select * from CT_USER.CT_TABLE1;
可以不可以这样写呢:select * from CT_TABLE1;有谁知道??????

解决方案 »

  1.   

    如果你就使用这个用户CT_USER登录的,不需要加用户名的。
    如果不是这个用户登录的话也想这样使用需要建同义词,用下列语句
    create synonym CT_TABLE1  for CT_USER.CT_TABLE1 
      

  2.   

    表创建到了CT_USER用户下了,查询其他用户建的表需要在表前加上用户名
      

  3.   

    create synonym CT_TABLE1  for CT_USER.CT_TABLE1 SQL codecreate synonym CT_TABLE1  for CT_USER.CT_TABLE1 
    这两个是什么意思?不明白
      

  4.   

    还可以赋权限的办法呀!比如A用户想访问B用户的BBB表:conn B/B@servername
    create table BBB(id number);
    grant select on BBB to A;
    conn A/A@servername
    select * from BBB;
      

  5.   


    打个比方,鲁迅是周树人的笔名吧。create synonym 鲁迅 for 周树人以后你遇到鲁迅不就是认为是周树人呀
      

  6.   

    创建同义词,你照着做再用select * from CT_TABLE1; 查询就可以了