易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE 在WHERE子句中引用列别名的问题

SQL> select sal,comm from emp
2 where sal<2000;
SAL COMM
---------- ----------
800
1600 300
1250 500
1250 1400
1500 0
1100
950
1300
8 rows selected.
SQL> select sal as salary,comm as commission from emp
2 where salary<2000;
where salary<2000
*
ERROR at line 2:
ORA-00904: "SALARY": invalid identifier
SQL> select * from
2 (
3 select sal as salary,comm as commission from emp
4 ) x
5 where salary<2000;
SALARY COMMISSION
---------- ----------
800
1600 300
1250 500
1250 1400
1500 0
1100
950
1300
8 rows selected.
将取别名的查询作为内联视图,便可以在外部查询中引用其中的别名列。为什么要这么做呢?WHERE子句是在SELECT之前进行处理的,这样,在处理求解“问题”查询的WHERE子句之前,SALARY和COMMISSION并不存在,要到WHERE子句处理完成之后,别名才生效。然而,from子句是在WHERE之前处理的。将原查询放在from子句中,那么,在最外层的WHERE子句之前,以及最外层的WHERE子句“看到”别名之前,就已经生成了查询结果。


相关文档:

[转载]oracle DBA technologies

之前看到一篇文章, 觉得不错! 看了后,发觉自己还有很多地方需要补足, 还需要努力啊!任重而道远!
DBA需要的技能
dba掌握的技术
    1.      os : linux,solaris或其他unix起码要一种
    2.      bash (不精通也要熟)  LINUX与 ......

Oracle备份脚本


目标:我想实现这样的功能,只要会简单的linux命令就能实现oracle exp的自动备份
 
环境:linux as3+oracle9i
具体的步骤:
 
1.邮件设置
[root@sxapp1 mail]# cd /etc/mail
[root@sxapp1 mail]# mv submit.cf submit.cfbak
[root@sxapp1 spool]# chmod a+wrx mqueue/
[root@sxapp1 mail]# echo "sdsd ......

如何查看和清除oracle无用的连接进程


DBA要定时对数据库的连接情况进行检查,看与数据库建立的会话数目是不是正常,如果建立了过多的连接,会消耗数据库的资源。同时,对一些“挂死”的连接,可能会需要DBA手工进行清理。
以下的SQL语句列出当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status
from v$session; ......

解读ORACLE数据库的统一命名与编码规范

1、编写目的
使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和继承。
2、适用范围
本规范适用于公司范围内所有以ORACLE作为后台数据库的应用系统和项目开发工作。
3、对象命名规范
3.1 数据库和SID
数据库名定义为系统名+模块名
★ 全局数据库名和例程SID 名要求一致
★ 因SID ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号