脑残的设计---视图(view)里面包含orderby(二)

2014-11-24 17:00:03 · 作者: · 浏览: 1
, WO.LAST_UPDATE_LOGIN, WO.REQUEST_ID, WO.PROGRAM_APPLICATION_ID, WO.PROGRAM_ID, WO.PROGRAM_UPDATE_DATE, WO.OPERATION_SEQUENCE_ID, WO.STANDARD_OPERATION_ID, BSO.OPERATION_CODE, WO.DEPARTMENT_ID, BD.DEPARTMENT_CODE, BD.LOCATION_ID, WO.DESCRIPTION, WO.SCHEDULED_QUANTITY, DECODE(WO.QUANTITY_IN_QUEUE, 0, NULL, WO.QUANTITY_IN_QUEUE), DECODE(WO.QUANTITY_RUNNING, 0, NULL, WO.QUANTITY_RUNNING), DECODE(WO.QUANTITY_WAITING_TO_MOVE, 0, NULL, WO.QUANTITY_WAITING_TO_MOVE), DECODE(WO.QUANTITY_REJECTED, 0, NULL, WO.QUANTITY_REJECTED), DECODE(WO.QUANTITY_SCRAPPED, 0, NULL, WO.QUANTITY_SCRAPPED), DECODE(WO.QUANTITY_COMPLETED, 0, NULL, WO.QUANTITY_COMPLETED), WO.FIRST_UNIT_START_DATE, WO.FIRST_UNIT_COMPLETION_DATE, WO.LAST_UNIT_START_DATE, WO.LAST_UNIT_COMPLETION_DATE, WO.PREVIOUS_OPERATION_SEQ_NUM, WO.NEXT_OPERATION_SEQ_NUM, WO.COUNT_POINT_TYPE, DECODE(WO.COUNT_POINT_TYPE, 1, 1, 2) "COUNT_POINT_FLAG", DECODE(WO.COUNT_POINT_TYPE, 3, 2, 1) "AUTOCHARGE_FLAG", WO.BACKFLUSH_FLAG, WO.MINIMUM_TRANSFER_QUANTITY, WO.DATE_LAST_MOVED, WO.ATTRIBUTE_CATEGORY, WO.ATTRIBUTE1, WO.ATTRIBUTE2, WO.ATTRIBUTE3, WO.ATTRIBUTE4, WO.ATTRIBUTE5, WO.ATTRIBUTE6, WO.ATTRIBUTE7, WO.ATTRIBUTE8, WO.ATTRIBUTE9, WO.ATTRIBUTE10, WO.ATTRIBUTE11, WO.ATTRIBUTE12, WO.ATTRIBUTE13, WO.ATTRIBUTE14, WO.ATTRIBUTE15, WO.OPERATION_YIELD, WO.CUMULATIVE_SCRAP_QUANTITY, WO.OPERATION_YIELD_ENABLED, NVL(WO.OPERATION_COMPLETED, 'N'), WO.SHUTDOWN_TYPE, LU1.MEANING, WO.X_POS, WO.Y_POS, WO.LONG_DESCRIPTION, WO.DISABLE_DATE, WO.RECOMMENDED, WO.PROGRESS_PERCENTAGE, WO.WSM_BONUS_QUANTITY, WO.ACTUAL_START_DATE, WO.ACTUAL_COMPLETION_DATE, WO.EMPLOYEE_ID, PAP.FULL_NAME, WO.LOWEST_ACCEPTABLE_YIELD, nvl(wo.CHECK_SKILL, 2) CHECK_SKILL FROM BOM_DEPARTMENTS BD, BOM_STANDARD_OPERATIONS BSO, WIP_OPERATIONS WO, MFG_LOOKUPS LU1, PER_ALL_PEOPLE_F PAP WHERE BD.DEPARTMENT_ID = WO.DEPARTMENT_ID AND BSO.STANDARD_OPERATION_ID(+) = WO.STANDARD_OPERATION_ID AND NVL(BSO.OPERATION_TYPE, 1) = 1 AND BSO.LINE_ID IS NULL AND LU1.LOOKUP_TYPE(+) = 'BOM_EAM_SHUTDOWN_TYPE' AND LU1.LOOKUP_CODE(+) = WO.SHUTDOWN_TYPE AND WO.EMPLOYEE_ID = PAP.PERSON_ID(+) ORDER BY WO.OPERATION_SEQ_NUM;

我靠视图里面有 ORDER BY ...... 这不是脑残吗? 视图里面你搞ORDER BY 干嘛呢,直接在 视图外面写order by 呀。

select .... from a, v_b where a.id=b.id;

a 是一个表, v_b 是一个视图。 v_b 里面有order by 那么 v_b 是有序的, v_b 里面没order by 那么v_b 是无序的。

但是最终的 sql 返回结果 有没有顺序 是 在 最外面 搞 order by 对吧。

所以让 那哥们把视图里面的order by 给去掉 ,结果里面返回结果了。 执行计划就不 贴了,视图里面有 order by 会干扰执行计划的。

别在视图里面搞ORDER BY ,如果有需要 ,请在 外面sql 进行order by。