oracle ebs 开发心得

oracle ebs 开发心得

ID:18777187

大小:118.21 KB

页数:12页

时间:2018-09-23

oracle ebs 开发心得_第1页
oracle ebs 开发心得_第2页
oracle ebs 开发心得_第3页
oracle ebs 开发心得_第4页
oracle ebs 开发心得_第5页
资源描述:

《oracle ebs 开发心得》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、技术心得一、SQL查询:1、”列出同部门中工资高于1000的员工数量超过2人的部门,显示部门名字、地区名称”.查询语句如下:selectdistinctdept.department_name,loc.cityfromemployeesemp,departmentsdept,locationslocwhereemp.department_id=dept.department_idanddept.location_id=loc.location_idandEXISTS(select1fromemployeesemp2whereemp2.department_id

2、=emp.department_idandemp2.salary>1000groupbyemp2.department_idhavingcount(emp2.department_id)>2)通常我们只需要对记录逐行的筛选,对于分组数据我们只能使用分组语句avg、max等,也就是说如果你想在select中得到这个属性那么“它们“也必须出现在groupby中或者你只想得到一个统计数据.回顾上面的例子,我们也可以用以下语句完成:selectdept.department_name,loc.city,count(*)fromemployeesemp,departme

3、ntsdept,locationslocwhereemp.department_id=dept.department_idanddept.location_id=loc.location_idandemp.salary>1000groupbydept.department_name,loc.cityhavingcount(*)>2对于groupby来说每一条emp.department_id必对应唯一dept.department_id、dept.department_name因此不论groupbydepartment_id还是groupbydepartmen

4、t_name,loc.city达到的效果是一样的2、用一条语句查询出scott.emp表中每个部门工资前三位的数据:selectdepartment_id,max(salary)max_salary,max(decode(rank,2,salary,salary))mid_salary,min(salary)min_salaryfrom(selectdepartment_id,salary,rankfrom(selectemp.department_id,emp.employee_id,emp.salary,row_number()over(partition

5、byemp.department_idorderbyemp.salary)asrankfromemployeesemp)EwhereE.rank<=3)groupbydepartment_idrownumber()over(patitionbycolumn1orderbycolumn2),表示以column1分组对column2排序,row_number可用于筛选重复项.3、哪些员工跟Den(FIRST_NAME)、Rephaely(Last_Name)不在同一个部门.此处可能存在没有部门的员工,应该用NoExists筛选deptno与该员工不等的记录.若要求

6、空值可使用NOEXISTS若不要求空值可用EXISTS,尽量用EXISTS取代IN、ANY、ALL等操作(可提高性能),注意空值的处理!!!4、在多表连接查询中,子查询最多只可嵌套一层否则Oracle无法识别5、forhandlein:游标二、PL/SQl存储过程1、游标的使用:显式游标的使用分为四步,声明、打开、循环、关闭.打开游标:就是执行游标所对应的SELECT语句,将其查询结果放入工作区,并且指针指向工作区的首部,标识结果集合。如果游标查询语句中带有FORUPDATE选项,OPEN语句还将锁定数据库表中游标结果集合对应的数据行。如下所示:DECLARE

7、CURSORc4(dept_idNUMBER,j_idVARCHAR2)ISSELECTfirst_namef_name,hire_dateFROMemployeesWHEREdepartment_id=dept_idANDjob_id=j_id;--声明游标定义记录变量,比声明记录类型变量要方便,不容易出错v_emp_recordc4%ROWTYPE;BEGIN--OPENc4(90,'AD_VP');/*LOOPFETCHc4INTOv_emp_record;IFc4%FOUNDTHENDBMS_OUTPUT.PUT_LINE(v_emp_record.f

8、_name

9、

10、'的雇佣日期是'

11、

12、v_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。