我正在运行“Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production”,并尝试熟悉它。我创建了一个表空间并将其设置为在线。如何确保下一个创建表语句正在使用这表空间?是存储为专门用于此目的?Oracle 会自动解决此问题吗?
谢谢 nn
答案1
您有几种选择。最简单的一种:
CREATE TABLE your_table (field_a CHAR(1), ... ) TABLESPACE your_tablespace;
这将在“your_tablespace”表空间中创建表“your_table”。
您还可以创建一个用户,让他使用您的表空间作为默认表空间,这样他的所有对象(不仅仅是表!)都将在该表空间中创建:
CREATE USER your_user
IDENTIFIED BY "your_password"
DEFAULT TABLESPACE your_tablespace
TEMPORARY TABLESPACE temp;
GRANT CONNECT to your_user;
您还可以修改现有用户来更改默认表空间:
ALTER USER your_user DEFAULT TABLESPACE your_tablespace;
从那一刻起,所有新对象都将在 your_tablesapce 中创建(先前存在的对象将不会自动移动!)
要将表从一个表空间移动到另一个表空间:
ALTER TABLE your_table MOVE TABLESPACE your_tablespace;
认为这就是全部...