как создать таблицу, когда значение передается в процедуре в Oracle? - PullRequest
0 голосов
/ 23 октября 2019

Я сделал процедуру, которая принимает значение и создает таблицу, которая:

create or replace procedure offc.temp(data1 varchar2(200)) is
   var1 varchar2(4000);
BEGIN
   var1:='create table offc.temp'||data1||'(
          id number)';
   EXECUTE IMMEDIATE var1;
end;

Я получил ошибку, когда я сделал процедуру:

[Warning] ORA-24344: success with compilation error
1/35    PLS-00103: Encountered the symbol "(" when expecting one of the following:
          := . ) , @ % default character
          The symbol ":=" was substituted for "(" to continue.
 (11: 0): Warning: compiled but with compilation errors

Почему эта ошибка появляется, как яхотите создать таблицу, передав значение в процедуру.

1 Ответ

0 голосов
/ 25 октября 2019

Нельзя указывать длину в типах параметров

create or replace procedure offc.temp(data1 varchar2) is
   var1 varchar2(4000);
BEGIN
   var1:='create table offc.temp'||data1||'(
          id number)';
   EXECUTE IMMEDIATE var1;
end;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...