Я хотел бы спросить вас, как повысить производительность на вставке курсора в этом коде? Мне нужно использовать динамический plsql для извлечения данных, но не знаю, как улучшить INSERT наилучшим образом. например, Bulk Insert? Пожалуйста, дайте мне знать с примером кода, если это возможно.Повысить производительность при вставке курсора?
// Это как я использую cur_handle:
cur_HANDLE integer;
cur_HANDLE := dbms_sql.open_cursor;
DBMS_SQL.PARSE(cur_HANDLE, W_STMT, DBMS_SQL.NATIVE);
DBMS_SQL.DESCRIBE_COLUMNS2(cur_HANDLE, W_NO_OF_COLS, W_DESC_TAB);
LOOP
-- Fetch a row
IF DBMS_SQL.FETCH_ROWS(cur_HANDLE) > 0 THEN
DBMS_SQL.column_value(cur_HANDLE, 9, cont_ID);
DBMS_SQL.COLUMN_VALUE(cur_HANDLE, 3, proj_NR);
ELSE
EXIT;
END IF;
Insert into w_Contracts values(counter, cont_ID, proj_NR);
counter := counter + 1;
END LOOP;
Почему, по-вашему, вы должны использовать динамический SQL для курсора? Если вы хотите, чтобы мы вам помогли, вам нужно объяснить ваш прецедент. – APC
Becouse select statement собирается с веб-сайта, например, если пользователь хочет включить более подробный поиск, то оператор select будет изменен, а результат будет выглядеть по-разному в конце. Все приложение представляет собой веб-сайт, основанный на динамическом коде PLSQL. – Haris