返回多个对象:
PROCEDURE AUTO_SEL_INVOICE_DETAIL(
P_RESULT_LIST OUT SYS_REFCURSOR) AS
BEGIN
OPEN P_RESULT_LIST FOR
SELECT DISTINCT CC.CHARGE_COLLECTION_ID CHARGE_COLLECTION_ID, CC.COLLECT_DATE COLLECT_DATE, CC.TOTAL_AMOUNT TOTAL_AMOUNT, CC.STATEMENT_NO STATEMENT_NO, CC.PORT_CODE PORT_CODE, CC.CUSTOMER_TYPE CUSTOMER_TYPE, CC.CUSTOMER_CODE CUSTOMER_CODE, CC.CUSTOMER_NAME CUSTOMER_NAME, CP.PAYER_TYPE PAYER_TYPE, CP.PAYER_CODE PAYER_CODE, CP.PAYER_NAME PAYER_NAME, CC.ROTATION_NO ROTATION_NO, CD.CHARGE_TYPE_ID CHARGE_TYPE_ID, CD.CHARGE_TYPE CHARGE_TYPE, CD.CARGO_CATEGORY_ID CARGO_CATEGORY_ID, CD.CARGO_CATEGORY CARGO_CATEGORY, CD.TARIFF_CODE_ID TARIFF_CODE_ID, TC.TARIFF_CODE TARIFF_CODE, CD.TARIFF_RATE_ID TARIFF_RATE_ID, CD.TARIFF_RATE TARIFF_RATE, TR.APPLY_TO UOM, CD.SHORT_CODE SHORT_CODE, CD.QUANTITY QUANTITY, CD.TARIFF_AMOUNT TARIFF_AMOUNT, CD.BRN_NO BRN_NO, CD.BOL_NO BOL_NO, CD.SRN_NO SRN_NO,
CD.TER_ID TER_ID, CD.TER_DETAIL_ID TER_DETAIL_ID, CD.TER_CODE TER_NO, CD.TER_RATE TER_RATE, CD.TER_AMOUNT TER_AMOUNT, CD.NET_AMOUNT NET_AMOUNT, CC.TERMINAL_ID TERMINAL_ID, BB.LINE_CODE LINE_CODE, CD.TRADE_CODE TRADE_CODE, TC.ACTIVITY_CODE OPER_EVENT, CD.BOE_NO BOE_NO, EB.DEST_PORT EX_DESC_PORT, BOL.DEST_PORT IM_DEST_PORT, BOL.ORIGIN_PORT ORIGIN_PORT, EB.DISCHG_PORT_1 DISCHG_PORT_1, BOL.COM_CODE COM_CODE, CC.CREATED_BY CREATED_BY, CC.CREATED_DATE CREATED_DATE
from GCB_CHARGE_COLLECTION CC INNER JOIN GCB_CHARGE_DTLS CD ON CC.CHARGE_COLLECTION_ID = CD.CHARGE_COLLECTION_ID INNER JOIN GCB_TARIFF_CODE TC ON CD.TARIFF_CODE_ID = TC.TARIFF_CODE_ID INNER JOIN GCB_TARIFF_RATE TR ON CD.TARIFF_RATE_ID = TR.TARIFF_RATE_ID LEFT JOIN GCB_CHARGE_PAYMENT CP ON CC.CHARGE_COLLECTION_ID = CP.CHARGE_COLLECTION_ID LEFT JOIN BERTH_BOOKING BB ON CC.ROTATION_NO = BB.ROTATION
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
例如:
(低效)
SELECT … from EMP E WHERE SAL > 50000 AND JOB = ‘MANAGER’ AND 25 < (SELECT COUNT(*) from EMP WH ......
在Oracle数据库中,undo主要有三大作用:提供一致性读(Consistent Read)、回滚事务(Rollback Transaction)以及实例恢复(Instance Recovery)。 一致性读是相对于脏读(Dirty Read)而言的。假设某个表T中有10000条记录,获取所有记录需要15分钟时间。 ......