請看黃色部分
IF CUR_MONTH_BILL_ID > 0 --區縣指標 THEN TVALUE_SQL := 'SELECT TO_CHAR(' || CUR_ROW.MAIN_FIELD || ') FROM ' || CUR_ROW.END_TABLE || '_' || CUR_MONTH || ' WHERE TO_CHAR(DISTRICT_ID)=''' || CUR_ROW.E_DISTRICT_ID || ''''; ELSE --客戶經理指標 TVALUE_SQL := 'SELECT TO_CHAR(' || CUR_ROW.MAIN_FIELD || ') FROM ' || CUR_ROW.END_TABLE || '_' || CUR_MONTH || ' WHERE MANAGER_NO=''' || CUR_ROW.MANAGER_NO || ''''; END IF; BEGIN EXECUTE IMMEDIATE TVALUE_SQL INTO KPI_VALUE; --執行sql,得到完成值kpi_value EXCEPTION WHEN OTHERS THEN RESULT_STR := RESULT_STR || '<br/> sql執行錯誤:' || TVALUE_SQL || ' INTO KPI_VALUE'; END;
完整文章參考:Oracle 在存儲過程或函數中執行字符串sql