Oracle - Inserciones de texto largo

 
Vista:

Inserciones de texto largo

Publicado por Marcos Gonzalez (1 intervención) el 08/04/2005 14:54:37
Hola, me gustaria hacer 2 cuestiones, normalmente trabajo para web con MySQL pero tengo un proyecto que requiere oracle. A la hora de hacer la traduccion del fichero SQL a Oracle, he llegado a este punto. Me gustaria que me dijerais que errores veis, ya que me da algunos:

DROP TABLE tinformacion2005;

CREATE TABLE tinformacion2005
(id_contenido NUMBER(11) PRIMARY KEY,
direccion VARCHAR2(250) NOT NULL DEFAULT(''),
area VARCHAR(100) NOT NULL DEFAULT(''),
contenido CLOB NOT NULL);

Aqui me da error en el DROP porque no existe la tabla, quito el drop o hay manera de hacer un IF EXISTS o algo asi?

Y tambien me da este error:

direccion VARCHAR2(250) NOT NULL DEFAULT(''),
*
ERROR en línea 3:
ORA-00907: falta el paréntesis derecho

No lo comprendo....

Por otro lado para poder meter hasta 32.000 caracteres uso este codigo:

DECLARE
valor varchar2(32767):='aqui la parrafada...';
BEGIN
EXECUTE IMMEDIATE
'INSERT INTO tinformacion2005 VALUES (1,''php/esadgs1.php'',''Estados Numéricos > Administración > Gastos > Presidencia del Principado y Consejo Gobierno'', :1)' using valor;
END;
/

Bueno pues resulta que tambien tira errores:

SP2-0027: Entrada demasiado larga (> 2499 caracteres) - línea ignorada
'INSERT INTO tinformacion2005 VALUES (1,''php/esadgs1.php'',''Estados Numéricos > Administración > Gastos > Presidencia del Principado y Consejo Gobierno'', :1)' using valor;
*
ERROR en línea 4:
ORA-06550: línea 4, columna 169:
PLS-00201: el identificador 'VALOR' debe declararse
ORA-06550: línea 3, columna 1:
PL/SQL: Statement ignored

Esto

Entrada demasiado larga (> 2499 caracteres)

es ilogico porque lo estoy preparando para 32000 caracteres.

Lo gracioso de todo esto es que este script el año pasado funciono para la version del 2004 y este año da problemas??? No entiendo...

Saludos y gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Inserciones de texto largo

Publicado por leonardo (93 intervenciones) el 08/04/2005 19:28:09
DROP TABLE tinformacion2005;
CREATE TABLE tinformacion2005
(id_contenido NUMBER(11)
,direccion VARCHAR2(250) NOT NULL
,area VARCHAR(100) NOT NULL
,contenido LONG NOT NULL
, CONSTRAINT "XPK_tinformacion2005" PRIMARY KEY(id_contenido));

Te dara error en el drop si la tabla no existe
y para insertar:

insert into tinformacion2005 values(2, 'dos','dos', valor);
commit;

Te sirvio o no ?...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar