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.
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


0