Oracle学习2008-07-02

2 views
Skip to first unread message

earlyfly

unread,
Jul 2, 2008, 4:31:02 AM7/2/08
to earlyfly
[1] oracle 的数据类型存放在表 DBA_TAB_COLUMNS;
通过查询语句:select * from sys.DBA_TAB_COLUMNS 可以看到,这是一张非常大的表,包括了dba的所有信息(以上是
自己的理解,恐有误导之嫌)。
[2] 创建位图索引的方法:
create bitmap index _name_ on _table_name_(_table_volumn_);
[3] sql-plus中结束当前执行的命令:ctrl+c 。
[4] sqlplus常用set指令:
set colsep' ';
  //##--域输出分隔符

  set echo off;
  //##--显示start启动的脚本中的每个sql命令,缺省为on

  set feedback off;
  //##--回显本次sql命令处理的记录条数,缺省为on

  set heading off;
  //##--输出域标题,缺省为on

  set pagesize 0;
  //##--输出每页行数,缺省为24,为了避免分页,可设定为0。

  set linesize 80;
  //##--输出一行字符个数,缺省为80

  set numwidth 12;
  //##--输出number类型域长度,缺省为10

  set termout off;
  //##--显示脚本中的命令的执行结果,缺省为on

  set timing off;
  //##--显示每条sql命令的耗时,缺省为off

  set trimout on;
  //##--去除标准输出每行的拖尾空格,缺省为off

  set trimspool on;
  //##--去除重定向(spool)输出每行的拖尾空格,缺省为off
[5] distinct
SELECT 指令让我们能够读取表格中一个或数个栏位的所有资料。这将把所有的资料都抓出,无论资料值有无重复。在资料处理中,我们
会经常碰到需要找出表格内的不同资料值的情况。换句话说,我们需要知道这个表格/栏位内有哪些不同的值,而每个值出现的次数并不重要。这要如何达成呢?
在 SQL 中,这是很容易做到的。我们只要在 SELECT 后加上一个 DISTINCT 就可以了。DISTINCT 的语法如下:
SELECT DISTINCT "栏位名"
FROM "表格名"

举例来说,若要在以下的表格,Store_Information,找出所有不同的店名时,我们就打入,

SELECT DISTINCT store_name FROM Store_Information;


(Store_Information表格)
store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999
Reply all
Reply to author
Forward
0 new messages