Oracle提供的序号函数
Oracle提供的序号函数:
以emp表为例:
1: rownum 最简单的序号 但是在order by之前就确定值.
select rownum,t.* from emp t order by ename
行数
ROWNUM
EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
1
11
7876
ADAMS
CLERK
7788
1987-5-23
1100
20
2
2
7499
ALLEN
SALESMAN
7698
1981-2-20
1600
300
30
3
6
7698
BLAKE
MANAGER
7839
1981-5-1
2850
30
4
7
7782
CLARK
MANAGER
7839
1981-6-9
2450
10
5
13
7902
FORD
ANALYST
7566
1981-12-3
3000
20
6
12
7900
JAMES
CLERK
7698
1981-12-3
950
30
7
4
7566
JONES
MANAGER
7839
1981-4-2
2975
20
8
9
7839
KING
PRESIDENT
1981-11-17
5000
10
9
5
7654
MARTIN
SALESMAN
7698
1981-9-28
1250
1400
30
10
14
7934
MILLER
CLERK
7782
1982-1-23
1300
10
11
8
7788
SCOTT
ANALYST
7566
1987-4-19
3000
20
12
1
7369
SMITH
CLERK
7902
1980-12-17
800
20
13
10
7844
TURNER
SALESMAN
7698
1981-9-8
1500
0
30
14
3
7521
WARD
SALESMAN
7698
1981-2-22
1250
500
30
2: row_number() over( order by 字段名1,字段名2,...字段名n ) 先排序再确定序号.
select row_number() over( order by ename ) as rm, t.* from emp t
行数
RM
EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
1
1
7876
ADAMS
CLERK
7788
1987-5-23
1100
20
2
2
7499
ALLEN
SALESMAN
7698
1981-2-20
1600
300
30
3
3
7698
BLAKE
MANAGER
7839
1981-5-1
2850
30
4
4
7782
CLARK
MANAGER
7839
1981-6-9
2450
10
5
5
7902
FORD
ANALYST
7566
1981-12-3
3000
20
6
6
7900
JAMES
CLERK
7698
1981-12-3
950
30
7
7
7566
JONES
MANAGER
7839
1981-4-2
2975
20
8
8
7839
KING
PRESIDENT
1981-11-17
5000
10
9
9
7654
MARTIN
SALESMAN
7698
1981-9-28
1250
1400
30
10
10
7934
MILLER
CLERK
7782
1982-1-23
1300
10
11
11
7788
SCOTT
ANALYST
7566
1987-4-19
3000
20
12
12
7369
SMITH
CLERK
7902
1980-12-17
800
20
13
13
7844
TURNER
SALES
相关文档:
在/etc/rc.d/init.d/ 创建oracle10g文件
touch oracle10g
chmod a+x oracle10g
[root@test~]# vi /etc/rc.d/init.d/oracle10g
#!/bin/bash
#chkconfig:345 51 49
#description:starts the oracle database deamons
#
ORACLE_HOME=/oracle/product/10.2.0/db_1
ORACLE_OWNER=oracle
case "$1" in
start)
echo ......
Last login: Mon Feb 8 14:13:19 2010 from 192.168.1.249
ipnet
-bash-3.00$
-bash-3.00$ ipnet
-bash: ipnet: command not found
-bash-3.00$ su - oracle
Password:
eastcsu: incorrect password
-bash-3.00$ eastcom
-bash: eastcom: command not found
-bash-3.00$ su - oracle
Password:
[oracl ......
1)从使用上来说,oci必须在客户机上安装oracle客户端或才能连接,而thin就不需要,因此从使用上来讲thin还是更加方便,这也是thin比较常见的原因。
2)原理上来看,thin是纯java实现tcp/ip的c/s通讯;而oci方式,客户端通过native java method调用c library访问服务端,而这个c library就是oci(oracle called interface ......
Create [or replace] trigger [模式.]触发器名
Before| after |instead of insert|delete|(update of 列名)
{insert|delete|(update of 列名) }
On 表名|视图|模式名|数据库名
[for each row]
When 条件
PL/SQL块
说明:
......