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
相关文档:
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 ......
具体实现如下:
SQL> select count(*) from v$session #连接数
SQL> Select count(*) from v$session where status='ACTIVE' #并发连接数
SQL> show parameter processes #最大连接
SQL> alter system set processes = value scope = spfile;重启数据库 #修改连接 ......
Create [or replace] trigger [模式.]触发器名
Before| after |instead of insert|delete|(update of 列名)
{insert|delete|(update of 列名) }
On 表名|视图|模式名|数据库名
[for each row]
When 条件
PL/SQL块
说明:
......
为防忘记,记录于下:
oracle 11gR2 : http://www.oracle.com/pls/db112/homepage,下载网址http://www.oracle.com/technology/documentation/database.html
oracle 11gR1 : http://www.oracle.com/pls/db111/homepage
oracle 10gR2 : http://www.oracle.com/pls/db102/homepage ......
delete from tbl_talbe
where (col1,col2,col3) in
(select col1,col2,col3
from tbl_table
group by col1,col2,col3
&nbs ......