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 ......
Oracle
SQL
的优化规
则:
尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替
用IN写出来的SQL
的优点是比较容易写及清晰易懂,但是用IN的SQL
性能总是比较低的,从ORACLE
执
行的步骤来分析用IN的SQL
与不用IN的SQL
有
以下区别:
......
1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。
2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus system/manager@ora9i;
3、SQL>connect / as sysdba ;(as sysoper)或
connect internal/oracle AS SYSDBA ;(scott/tiger)
conn sys/change_on_install as sysd ......
用命令行(CMD)中启动和关闭ORACLE服务
监听启动
lsnrctl start
监听停止
lsnrctl stop
启动Oracle
net start oracleservicesid
停止Oracle
net stop oracleservicesid
net命令是win系统命令!其它的服务启动和上面的类似!
......
oracle startup时 报错ORA-00600: 内部错误代码,参数: [kcratr1_lostwrt], [], [], [], [], [], [], []
原因可能是非法关机或掉电造成,以下是出现的问题及解决方法:
C:\Documents and Settings\Administrator>sqlplus
请输入用户名: /as sysdba
SQL> startup
ORA-01081: 无法启动已在运行的 ORACLE ......