-1
Мне нужна помощь по этому вопросу.анонимный блок в 11g
Я пытаюсь создать анонимный блок pl/sql, и когда я запускаю его, он показывает его завершенное, но он не запускает код. Это должно дать мне ошибку, говоря, что имя уже используется существующим объектом. Может кто-нибудь помочь мне в этом. Я фактически создаю процедуры, но просто пытаюсь использовать этот код в качестве образца.
DECLARE
V_REF_TBL VARCHAR2(100);
V_SQL LONG;
begin
V_REF_TBL :='My_TABLE';
v_SQL :='truncate table '||V_REF_TBL ;
EXECUTE IMMEDIATE V_SQL;
EXECUTE IMMEDIATE 'CREATE TABLE '|| V_REF_TBL ||' parallel 9 nologging pctfree 0 as
select * from dual';
End;
К сожалению, я не могу воспроизвести это. Если таблица существует, я получаю сообщение об ошибке «Имя уже используется существующим объектом» при запуске вашего кода. Если таблица не существует, я получаю ошибку «таблица или представление не существует». –
Зачем вам нужно использовать динамический sql? – Tiago
Зачем вам нужно обрезать таблицу, которая не существует? Почему вы пытаетесь создать таблицу, которая уже существует? Вы пытаетесь внедрить временную таблицу? Если это так, у оракула есть лучшие решения. http://stackoverflow.com/a/2042029/146325 – APC