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 ......
前台UI进程(VC6编写)将UTF-8中文发给后台服务程序(Linux GCC),后台再写入oracle数据库,然后前台再通过后台将数据取出,并显示;后台没有做编解码转换,前台则在VC默认的GBK与UTF-8之间作转换。
开始时系统出现乱码,后来通过设置Linux一个环境变量、重启后台进程问题解决(问题是曾经尝试过更改该环境变量,但乱码依 ......
Oracle
SQL
的优化规
则:
尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替
用IN写出来的SQL
的优点是比较容易写及清晰易懂,但是用IN的SQL
性能总是比较低的,从ORACLE
执
行的步骤来分析用IN的SQL
与不用IN的SQL
有
以下区别:
......
.Frm644 { display:none; }
1。已经检验的语句和已在共享池中的语句之间要完全一样
2。变量名称尽量一致
3。合理使用外联接
4。少
用多层嵌套
5。多用并发
语句的优化步骤一般有:
1。调整sga区,使得sga区的是用最优。
2。sql语句本身的优化,工具有explain,sql trace ......
为防忘记,记录于下:
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 ......