Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Me corta el resultado de una consulta que concatena varios campos (https://www.clubdelphi.com/foros/showthread.php?t=54229)

kuan-yiu 12-03-2008 11:03:14

Me corta el resultado de una consulta que concatena varios campos
 
Hola, hola.
Necesito hacer una consulta peculiar sobre una tabla que tiene muchísimos campos: que me los muestre todos en una única línea separados por comas.
El problema es que me corta el resultado, supongo que es porque la salida es demasiado grande (y la entrada también) y necesito configurar de algún modo mi BD para que me deje hacer esto.

Uso Oracle 9i y la consulta sólo necesito ejecutarla en el propio analizador. Sé que tengo que modificar un par de parámetros pero no sé cuales son.

La consulta es algo así, para que os hagáis una idea de lo terriblemente grandes que son los strings que tiene que manejar:
Código SQL [-]
select CODIGO||','''||DNI||''','''||NOMBRE||''','''||TELEFONO||''','''||
DIRECCION||''','''||CP||''','''||LOCALIDAD||''','''||PROVINCIA||''','''||
PAIS||''','''||ESTADO_CIVIL||''', '''||FINCA||''','||CODIGO_CONTRATO||','''||FECHA_CONTRATO||''','||
CODIGO_ESCRITURA||','''||FECHA_ESCRITURA||''', '||CODIGO_CIRCO||','''||
GENERADO_SN||''','''||ENVIADO_SN||''','''||FEC_CONTACTO||''', '''||
V_CALLE||''','''||V_NUMERO||''','''||V_PISO||''','''||V_LETRA||''','''||V_POBLACION||''','||
V_PROVINCIA||''','''||V_CP||''','||V_ANO_CONSTRUCCION||','||V_M2_CONSTRUIDOS||','''||
V_NOMBRE_PROMOCION||''', '''||V_MANZANA||''','''||V_BLOQUE||''','''||
V_PORTAL||''','''||V_TIPO_VIVIENDA||''','''||V_USO_VIVIENDA||''', '||
PUESTO||','||USR_ALTA||','''||FEC_ALTA||''','||PUESTO_ALTA||','||
USR_MODFCCION||','''||FEC_MODFCCION||''','||PUESTO_MODFCCION||', '''||
FEC_EFECTO||''','||NUM_POLIZA||','||S_COD_ENTIDAD||','||S_COD_OFICINA||', '''||
NOMBRE_CORTO||''','''||APELLIDO1||''','''||APELLIDO2||''', '||
S_CONTINENTE_REAL||','''||V_MEDIDAS_SEGURIDAD||''','''||LUGAR_EMISION||''', '||
PUESTO_PROMOCION||','''||COMENTARIO||''','''||ANULADO_SN
from cliente
where codigo in (34005361,34100361,35543361,35637361,37638361,37956361)

kuan-yiu 12-03-2008 15:36:18

Me autocontesto:
Cita:

set charwidth 600
Sólo tenía que modificar ese parámetro y en el caso de esta consulta con 600 me llega pero tiene como límite 2000, por si alguien lo necesita.

Delphius 12-03-2008 15:47:47

Hola kuan-yiu,
No se nada de Oracle, por lo que no te podría haber ayudado. Pero no puedo evitar preguntarte sobre ese extraño "requisito".

Me invade la curiosidad sobre el porque de la necesidad de concatenar todo con comas.

Saludos,

kuan-yiu 12-03-2008 17:23:01

Es un poco complicado de explicar:
Necesito hacer un insert de varias tuplas de mi BD de delegación central para la BD de otra delegación a la que le faltan, lo que ha paralizado la unión del sistema de espejos desde hace casi 2 días... y si lo tengo que construir a mano me quedo muerta, así que hice una consulta para que me de ese resultado.
Lo tenía que convertir en un fichero de texto plano que luego enviarlo y que se ejecutase remotamente por un sistema distinto al que actualmente está bloqueado... Y por ahora parece que ha funcionado. Espero que no me salten más errores.

Seguro, seguro que todo esto se podía hacer de otro modo... pero el sistema es muy antiguo y se niegan a cambiarlo, así que a veces hay que hacer malabarismos.


La franja horaria es GMT +2. Ahora son las 17:31:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi