Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/06/2011, 09:45
dasarro23
 
Fecha de Ingreso: febrero-2009
Mensajes: 16
Antigüedad: 15 años, 2 meses
Puntos: 0
Inserción de datos duplicados (Procedimiento + cursor)

Hola,

Actualmente estoy insertando datos en una tabla con la siguiente instrucción:

truncate table ESQUEMA.TABLA1;
INSERT
INTO
ESQUEMA.TABLA1(
CATEGORIA,
SUBCATEGORIA,
PRODUCTO,
ID,
TIPO,
SINTOMA1,
SINTOMA2,
SINTOMA3,
SINTOMA4,
SINTOMA5,
SINTOMA6,
SINTOMA7,
SINTOMA8,
SINTOMA9,
SINTOMA10,
SINTOMA11,
SINTOMA12,
SINTOMA13,
SINTOMA14,
SINTOMA15,
SINTOMA16,
SINTOMA17,
SINTOMA18,
SINTOMA19,
SINTOMA20,
RESOLUCION1,
RESOLUCION2,
RESOLUCION3,
RESOLUCION4,
RESOLUCION5,
RESOLUCION6,
RESOLUCION7,
RESOLUCION8,
RESOLUCION9,
RESOLUCION10,
RESOLUCION11,
RESOLUCION12,
RESOLUCION13,
RESOLUCION14,
RESOLUCION15,
RESOLUCION16,
RESOLUCION17,
RESOLUCION18,
RESOLUCION19,
RESOLUCION20)
SELECT
INCIDENCIAS.CATEGORIA ,
INCIDENCIAS.SUBCATEGORIA ,
INCIDENCIAS.PRODUCTO ,
INCIDENCIAS.ID,
INCIDENCIAS.TIPO,
REPLACE(SUBSTR(SINTOMA,1,5),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,6,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,12,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,18,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,24,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,30,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,36,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,42,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,48,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,54,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,60,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,66,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,72,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,78,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,84,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,90,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,96,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,102,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,108,6),CHR(10),''),
REPLACE(SUBSTR(SINTOMA,114,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,1,5),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,6,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,12,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,18,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,24,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,30,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,36,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,42,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,48,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,54,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,60,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,66,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,72,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,78,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,84,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,90,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,96,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,102,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,108,6),CHR(10),''),
REPLACE(SUBSTR(RESOLUCION,114,6),CHR(10),'')
FROM
ST.INCIDENCIAS;



No se como hacerlo para que se inserten todos los campos duplicados excepto los campos SINTOMA y RESOLUCION, de esta manera me ahorraria tener 20 campos para SINTOMA y 20 campos para RESOLUCION.

Pasaria a tener:

ID, TIPO, CATEGORIA, SUBCATEGORIA, PRODUCTO, SINTOMA, RESOLUCION

Y no como lo tengo actualmente:

ID, TIPO, CATEGORIA, SUBCATEGORIA, PRODUCTO, SINTOMA1, SINTOMA2, SINTOMA3.........

Me han comentado que con un procedimiento y un cursor podria realizarlo, me podeis hechar una mano, gracias!!!!!