wywołanie funkcji tworzącej tab

0

Witam serdecznie,

mam taka funkcje, tworzy mi sie bez zarzutów ;

create or replace FUNCTION c_tab(x VARCHAR2)
return varchar2 is
BEGIN
  EXECUTE IMMEDIATE 'create table abcd (efgh NUMBER)';

return x;
end ;

tylko nie wiem jak ja wywołać, próbuje w następujący sposób:

variable zmienna
execute zmienna := c_tab('a');
print zmienna;

ale jest błąd :

ORA-00900: invalid SQL statement

a zawsze tak wywoływałam funkcje Nie wiem dlaczego teraz nie chce działać ... Proszę uprzejmiej o wskazówkę

0

select c_tab('a') from dual;
BTW po co tam to execute immediate?

0

nie działa

ORA-14552: cannot perform a DDL, commit or rollback inside a query or DML
0

DECLARE x VARCHAR2(10);
begin x := c_tab('aaa'); END;

0

działa DZIĘKUJE :) :) :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1