Переименовать невозможно с помощью процедуры

--Использование разработчика Sql

Create or replace procedure rename_table
is
begin
rename emp to emp1;
end;

Скомпилировано с ошибкой:

Ошибка (7,1): PLS-00103: обнаружен символ "emp" при ожидании одного из следующих событий: . ( * @ % & = - + ; ‹ / > at in is mod остаток не rem ‹> или != или ~= >= ‹= ‹> и или подобное like2 like4 likec между || член multiset submultiset


person vasanth sonu    schedule 17.08.2017    source источник
comment
Добро пожаловать в Stack Overflow. Пожалуйста, посмотрите здесь: stackoverflow.com/help/how-to-ask Посмотрите, как задать вопрос.   -  person    schedule 17.08.2017
comment
Не совсем тот же вопрос, но он покажет вам код для выполнения DDL в PLSQL. stackoverflow.com/questions/11272904/ddl-statements-in -pl-sql   -  person Rene    schedule 17.08.2017
comment
Там код и ошибка. Что было непонятно?   -  person Rene    schedule 17.08.2017


Ответы (1)


RENAME – это команда SQL DDL, которая изначально не поддерживается в PL/SQL - вместо этого вы должны использовать динамический SQL, например

procedure rename_table
is
begin
  execute immediate 'rename emp to emp1';
end;
person Jeffrey Kemp    schedule 17.08.2017
comment
Спасибо за помощь чувак. - person vasanth sonu; 18.08.2017