日期:2014-05-17  浏览次数:20966 次

oracle建表?
SQL> create tablespace longs datafile 'D:\long.dbf' size 100M autoextend on;
SQL> create user hll identified by hll default tablespace longs;
SQL> grant dba to hll;
SQL> create table stu(
  2 id int primary key not null,
  3 name char(20) not null,
  4 age int);
SQL> commit;
提交完成。


我在sqlplus下建立了上面的表
用户hll授予dba权限
这时候我在 plsql下 用system/oracle orcl normal 登陆可以看到表stu
hll/hll orcl normal 登陆后, tables下是空的??是不是还要在配置向导下建立个数据库 ??
这个orcl是数据库名字,监听名字也可以是orcl?

plsql 用hll怎么连??表空间和数据库,表之间的关系还是很乱啊
用惯了sql server,mysql转不过了弯了


大侠给理顺理顺吧。。。









------解决方案--------------------
你建表时候没有指定用户,那么表就是创建者的,它是system的。

hll/hll orcl normal 里的orcl不叫监听,叫网络服务名,它就代表一个连库串而已,你想起什么起什么。

你直接hll/hll orcl normal 连接进去,创建表,继续就行了。


------解决方案--------------------
表是属于用户的,所以前面要加上限定,指明是属于哪个用户的。
------解决方案--------------------
-- 用system用户登录
sqlplus system/oracle@orcl
-- 创建表空间
create tablespace longs datafile 'D:\long.dbf' size 100M autoextend on;
create user hll identified by hll default tablespace longs;
grant dba to hll;

-- 用hll用户登录
sqlplus hll/hll@orcl
创建表。

请按上面的步骤操作。

注意Oracle的一些基本概念。
表空间:是一个逻辑的概念,是属于所有用户共享的。
表:是属于创建他的用户的。
------解决方案--------------------
用SYSTEM用户登录后,创建表空间,创建用户,为用户创建权限
用创建的用户登录后,创建表就可以了!
------解决方案--------------------
你登陆的用户不对吧,要用hil用户登陆,因为你的表空间默认被hil操作
------解决方案--------------------
恩,你用system建表的时候没有指定表是给什么用户的,当然就默认给system用户了。用hil用户登录再建表就OK
------解决方案--------------------
探讨

恩,你用system建表的时候没有指定表是给什么用户的,当然就默认给system用户了。用hil用户登录再建表就OK