Error CREATE TABLE en PROCEDURE

anamaria_palacio
05 de Noviembre del 2004
En un procedure válido, con usuario que tiene rol DBA y en su propio esquema, añado una línea intentando crear una tabla: CREATE TABLE XXX (X1 VARCHAR2(2),X2 VARCHAR2(10)); pero al compilar el status es Invalid. Además la ventana de Show Errors no muestra nada. Ayuda, por favor!!! Gracias (Lo hago en Oracle DBA Studio, en Oracle 8i))

Jorge-DBA
05 de Noviembre del 2004
Anamaría:


Lo que estas haciendo en tu Store, es una sentencia DDL, estas creando una tabla, para este caso ocupa EXECUTE IMMEDIATE dentro de tu programacion, se ocupa para queries dinámicos.

Por ejemplo:


SQL> declare
2 str varchar2(200);
3 begin
4 str := 'create table tab_x (msg varchar2(120))';
5 EXECUTE IMMEDIATE str;
6 end;
7 /

Procedimiento PL/SQL terminado correctamente.

SQL> desc tab_x


Saludos.
Nombre ¿Nulo? Tipo
----------------------------------------- -------- -------------------
MSG VARCHAR2(120)

SQL>

anamaria_palacio
05 de Noviembre del 2004
Mil gracias !!!