ORACLE常用的几种SQL语法和数据对象(二)

2014-11-24 08:50:59 · 作者: · 浏览: 2
段1, [字段2, ……] );

  ALTER INDEX 索引名REBUILD;

  

  一个表的索引最好不要超过三个(特殊的大表除外), 最好用单字段索引, 结合SQL语句的分析执行情况,

  也可以建立多字段的组合索引和基于函数的索引

  

  ORACLE8.1.7字符串可以索引的最大长度为1578 单字节

  ORACLE8.0.6字符串可以索引的最大长度为758 单字节

  

  ORACLE DOC上说字符串最大可以建索引的长度约是:数据块的大小(db_block_size)*40%

  

  2.视图(VIEW)

  

  CREATE VIEW 视图名AS SELECT …. FROM …..;

  ALTER VIEW视图名COMPILE;

  

  视图仅是一个SQL查询语句, 它可以把表之间复杂的关系简洁化.

  

  3.同义词(SYNONMY)

  CREATE SYNONYM同义词名FOR 表名;

  CREATE SYNONYM同义词名FOR 表名@数据库链接名;

  

  4.数据库链接(DATABASE LINK)

  CREATE DATABASE LINK数据库链接名CONNECT TO 用户名IDENTIFIED BY 密码USING ‘数据库连接字符串’;

  

  数据库连接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定义.

  

  数据库参数global_name=true时要求数据库链接名称跟远端数据库名称一样

  

  数据库全局名称可以用以下命令查出

  SELECT * FROM GLOBAL_NAME;

  

  查询远端数据库里的表

  SELECT ……FROM 表名@数据库链接名;

  

  五.权限管理(DCL) 语句

  1.GRANT 赋于权限

  常用的系统权限集合有以下三个:

  CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理)

  常用的数据对象权限有以下五个:

  ALL ON 数据对象名, SELECT ON 数据对象名, UPDATE ON 数据对象名,

  DELETE ON 数据对象名, INSERT ON 数据对象名, ALTER ON 数据对象名

  

  GRANT CONNECT, RESOURCE TO 用户名;

  GRANT SELECT ON 表名TO 用户名;

  GRANT SELECT, INSERT, DELETE ON表名TO 用户名1, 用户名2;

  

  2.REVOKE 回收权限

  

  REVOKE CONNECT, RESOURCE FROM 用户名;

  REVOKE SELECT ON 表名FROM 用户名;

  REVOKE SELECT, INSERT, DELETE ON表名FROM 用户名1, 用户名2;