创建表时需要使用Create Table语句。如果在用户自己的模式中创建一个新表,用户必须具有Create Table系统权限。如果要在其他用户模式中创建表,则必须具有Create Any Table的系统权限。此外,用户还必须在指定的表空间中具有一定的配额存储空间。
应该说,使用Create Table语句创建表并不困难,困难在于如何合理地确定创建哪些表,这些表应该包含哪些列以及各列应该使用什么样的数据类型等。在实际应用中,应该在用户需求调研和分析的基础上,借助于ER图等有效工具和手段,确认应该创建哪些表和准备如何创建这些表。
创建表
建立表后,可以通过Describe命令查看表的描述
如果要在其他模式中创建表,则必须在表名前加上模式名。
create table hr.employees(...);
注意:在创建表时,表的各列之间需要使用逗号隔开。
除了上面的Create Table语句外,还可以在Create Table语句中使用嵌套子查询,基于已经存在的表或视图
来创建表,而不需要为新表定义字段。在子查询中也可以引用一个或多个表(或视图),查询结果集中包含
的字段即为新表中定义的字段,并且查询到的记录也都被添加到新表中。
实例
当使用Create Table as select 语句创建表时,Oracle将从指定的SCOTT.EMP表中复制列来建立表。创建表后,Oracle就会使用从select语句中返回的行来填充新表。
注意:在通过查询创建表时,还可以修改表中各个列的名称,但是不能修改列的数据类型。新表中所有列的
数据类型都必须与查询语句的各个列一致。
阅读(5230) | 评论(0) | 转发(0) |