Точка с запятой указывает SQLPlus, что вы хотите запустить введенную команду в качестве команды.Он не выглядит первым, чтобы увидеть, что вы находитесь в середине строки в кавычках.Чтобы прекратить это действие, заключите всю команду в отдельный блок, где точка с запятой будет считаться частью блока, а не пытайтесь выполнить введенное вами ранее.Блоки окружены ключевыми словами BEGIN и END.Скажите SQLPlus, что вы сделали, введя точку в отдельной строке, затем запустите блок, введя косую черту.
Итак, если бы вы вводили SQL * Plus, это выглядело бы так:
BEGIN
update dummy_table
set
col1 = 0, col2 = null, col3 = to_clob(
'declare
source_table varchar2(40) := :par1;
target_table_name varchar2(40) := :par2;
'||'
begin '||'
select * from temp_table;
end;
'||'/'
), col4 = null
where col5 = 'value_1' and col6 = 'value_7';
END;
.
/