oracle创建表基础.docxVIP

  • 18
  • 0
  • 约6.73千字
  • 约 12页
  • 2017-03-28 发布于重庆
  • 举报
oracle创建表基础

VARCHAR2(size)和NVARCHAR2(size):变长字符型数据。首先,该数据类型存储变长的字符数据,在使用该数据类型定义数据时,该数据的存储区大小是不固定的,依据存储数据的长度进行动态分配存储区。参数size是该变量存储的最大的字符数,该值最大为4000。size的最小或默认值都是1。一般在定义该数据类型时,都要指定该长度值,即指定size值。NVARCHAR2(size)的不同之处在于它支持全球化数据类型,支持定长和变长字符集。CHAR(size) NCHAR(size):定长字符型数据该数据类型一旦定义,则存储该变量的存储区的大小就固定下来。显然在存储区分配上它没有VARCHAR2(size)和NVARCHAR2(size)数据类型具有动态性,但是在实际中,如果可以预测到一个变量存储的字符数量,且数量不是很大,则最好还是使用定长字符型数据来定义该变量,这样可以提高存储的效率。因为使用变长字符型数据要不断的计算存储的数据长度,再分配存储数据块,会消耗计算资源。定长字符型数据的最小值和默认值都为1个字符,而最大值为2000。NCHAR(size)的不同之处在于它支持全球化数据类型,支持定长和变长字符集,此时定长字符型数据的最小和默认值都为1个字节。DATE:日期型数据ORACLE服务器使用7个定长的存储区存储日期型数据,它可以月,年,日,实际,时,分和秒。日期型数据的取值范围从公元前4712年1月1日到公元9999年12月31日。NUMBER(P,S):数字型数据。参数p指十进制数的中长度,s为该十进制数小数点后的位数,如NUMBER(10,2)表示该数字型数据的中长度为10位,而小数后为2为。其中参数p的最大值为38,最小值为1,而参数s的最大值为124,最小值为-84。ROWID也是一种数据类型,但是这种数据类型是oracle服务器使用并管理的。首先解释ROWID的特性,通过特性可以理解ROWID的作用。* ROWID是数据库中每一行的唯一标识符。* ROWID作为列值是隐式存储的。* ROWID不直接给出行的物理地址,但是可以用ROWID来定位行。* ROWID提供了最快速地访问表中行的方法。SQL select deptno,dname,loc,rowid2 from dept; DEPTNO DNAME LOC ROWID---------- -------------- ------------- ------------------ 10 ACCOUNTING NEW YORK AAAQ+hAAEAAAAAOAAA 20 RESEARCH DALLAS AAAQ+hAAEAAAAAOAAB 30 SALES CHICAGO AAAQ+hAAEAAAAAOAAC 40 OPERATIONS BOSTON AAAQ+hAAEAAAAAOAAD解释:前六位AAAQ+h为数据对象号,在数据库中每个对象是唯一的。接着三位是AAE为相对文件号,它和表空间中的一个数据文件对应。接着6为AAAAAO为块号,块号为相对文件中存储该行的块的位置。最后3位AAB为行号,行号标识块头中行目录的位置,而使用该行目录的位置可以找到行的起始地址。 创建表SQL create TABLE scott.temp_employees (employee_id number(6), employee_name varchar(30), employee_sex char, department varchar(30)) tablespace users; 查询创建的表SQL select owner,table_name,tablespace_name from dba_tables where table_name=‘temp_employees’;临时表:临时表是非常特殊的表,该表只对当前用户的当前会话有效。创建临时表的目的就是使得某些操作效率更高。临时表中的数据只对当前的会话的用户有效,是当前会话的私有数据,当前会话只操作自己的数据,没有数据锁的争用,这极大提高了临时表操作的效率。创建临时表 SQL create global temporary TABLE 2 scott.emp_temporary 3 on commit preserve rows 4 as 5 select * 6 from scott.emp 7 where job = MANAGER;

文档评论(0)

1亿VIP精品文档

相关文档