Oracle All And Any
转:Oracle All And Any
这是在Oracle中比较容易被忽视的两个条件函数,但这两个函数其实对简化Sql语句是非常重要的作用的。
例如
scott@eddev> select ename, sal from emp where sal > any (1600, 2999);
ENAME SAL
---------- ----------
JONES 2975
BLAKE 2850
CLARK 2450
SCOTT 3000
KING 5000
FORD 3000
6 rows selected.
实际上以上语句可以等于:
select ename, sal from emp where sal > 1600 or sal > 2999;
所以Any是等于N个or语句。
又如
select ename from emp where substr(ename,1,1) = any ('A', 'W', 'J');
等同于:
select ename from emp where substr(ename,1,1) = 'A' or substr(ename,1,1) ='W' or substr(ename,1,1) ='J';
另外
scott@eddev> select ename, sal from emp where sal > all (1600, 2999);
ENAME SAL
---------- ----------
SCOTT 3000
KING 5000
FORD 3000
实际上以上语句可以等于:
select ename, sal from emp where sal > 1600 and sal > 2999;
所以All是等于N个And语句。
相关文档:
pl/sql 表
在pl/sql块中临时使用、像数组一样的对象
包含一列和一个主键
不能对列和主键进行命名
列可以是任何标量数据类型
主键必须是binary_integer类型
大小没有限制
声明pl/sql表
定义表的类型
type 类型名 is table of 列类型|变量数据类型 ......
Oracle启动过程介绍及命令,还有关闭。
写在前面:启动数据库前,请先启动监程序。
lsnrctl start
启动的三个步骤,依次为1.创建并启动实例、2.装载数据库、3.打开数据库。
可以通过命令startup来实现。
startup 命令格式
startup [ nomount | mount | open | force ] [ restrict ] [ pfile=filename ];
方法1 -- st ......
在Oracle中,要按特定条件查询前N条记录,用个rownum就搞定了。
select * from emp where rownum <= 5
而且书上也告诫,不能对rownum用">",这也就意味着,如果你想用
select * from emp where rownum > 5
则是失败的。要知道为什么会失败,则需要了解rownum背后的机制:
1 Oracle executes your quer ......
PROCEDURE user_Login (
i_AuthID IN user_UserPass.UserID%TYPE, --用户代码
i_FunctionCode IN &n ......
http://inthirties.com:90/thread-1233-1-1.html
好没有碰Solaris了,手有些生了,看来真要装个solaris,平时多玩玩。
在solaris上装Oracle 10g先。
1. 检查安装依赖包
官方要求的包
SUNWarc
SUNWbtool
SUNWhea
SUNWlibm
SUNWlibms
SUNWsprot
SUNWtoo
SUNWi1of
SUNWi1cs
SUNWi15cs
SUNWxwfnt
执行命令
# p ......