遇到非常長的SQL語句無法執行該怎麼辦呢?看下面的解決辦法:
/*-----------------------------------|執行長SQL,如參數、值非常大----------------------------------------*/CREATE OR REPLACE PROCEDURE SP_EXECUTELOG(SSQL IN VARCHAR2, SLONG IN CLOB) ISBEGIN EXECUTE IMMEDIATE SSQL USING SLONG; COMMIT;END SP_EXECUTELOG;--使用方式CREATE TABLE TEMPTABLE( ID NUMBER, STR CLOB)--------------樣本1,普通方式----------------------------BEGINSP_EXECUTELOG('INSERT INTO TEMPTABLE(ID,STR) VALUES(1,:STR)',TO_CLOB('14'));END;--------------樣本2,引號巢狀型別----------------------------DECLARE SQLSTR VARCHAR2(32767):='UPDATE T_TABLE SET INETWORKTYPE_ID = 1, SWHERERULES_CN = '''', IUSERID = 2804, DUPDATEDATE = TO_DATE(''2012-04-19'', ''YYYY-MM-DD''), SPERFTYPE = ''PERF_GSMCELL'', SSQL = :STR WHERE STEMPLATEID = ''37606'''; VAL CLOB:=TO_CLOB('SELECT TO_CHAR(DDATE, '''' YYYY '''') Y FROM TABLE WHERE DDATE >= (SYSDATE - INTERVAL '''' 1 '''' YEAR)');BEGINSP_EXECUTELOG(SQLSTR,VAL);END;