Oracle 10g2默认仅支持redhat enterprise系列和 SuSE 系列的几个版本的 Linux。 在 Ubuntu 上安装 Oracle 需要做些设置。下面是安装过程。
阅读全文 »Oracle管理中常用的SQL语句。
阅读全文 »
Oracle使用过程中经常会用到的SQL语句。
阅读全文 »
Oracle中试图对一个子查询进行更新时可能会出现ORA-01779错误。该错误的内容为:
ORA-01779: cannot modify a column which maps to a non-key-preserved table阅读全文 »
简单介绍一下使用tkprof工具调整Oracle SQL语句性能的方法。
阅读全文 »
启动时不连接服务器。
sqlplus /nolog
连接服务器的命令:
connect username/password@hoststring
设置行宽为1000字符。
set line 1000
设置列group_name的宽度为30字符。
col group_name format a30
启动外部编辑器编辑sql语句。
ed
设置ed命令启动的外部编辑器为vim。
define _EDITOR=vim
使用Windows下的gvim作为编辑器时应当加上-f参数。
define _EDITOR="gvim -f"
设置每页显示200条记录。
set pagesize 200
登录时自动执行的SQL脚本。
$ORACLE_HOME/sqlplus/admin/glogin.sql
各个用户自己的登录脚本。Oracle会在执行完glogin.sql之后执行该文件。搜索顺序为:当前目录->$SQLPATH。
login.sql
NULL值不等于0,也不等于空,它表示该值不定。
任何运算(加减乘除、字符串连接等)的运算数中包括NULL值时,整个表达式的值即为NULL。使用单行函数对NULL值进行处理,得到的结果也为NULL(NVL等函数除外)。
但是NULL值的布尔运算结果并不一定是NULL,例外的情况为,FALSE AND NULL 结果为FALSE,TRUE OR NULL 结果为TRUE。这是因为在AND运算时只要有一个运算数为FALSE结果即为FALSE,即使另一个运算数为NULL,结果也是一定为FALSE的。反之OR运算中,只要有一个运算数为TRUE,结果即为TRUE。
分组函数均忽略NULL值。
排序时,NULL被看作是最大的值,即正序时NULL显示在最下方,逆序时NULL显示在最上方。
处理NULL值的函数有如下几个:
- NVL(参数1, 参数2):如果参数1不为NULL,则返回参数1;如果参数1为NULL,则返回参数2
- NVL2(参数1, 参数2, 参数3):如果参数1不为NULL,则返回参数2;如果参数1为NULL,则返回参数3。该函数的返回值的类型总是与参数2相同,当参数1为NULL时,Oracle会将参数3转换成参数2的数据类型之后再返回。
- NULLIF(参数1, 参数2) :如果参数1等于参数2,则返回NULL;如果参数1不等于参数2,则返回参数1。
- COALESCE(参数1, 参数2, ..., 参数n):返回参数1到参数n中第一个不为NULL的值。
