Re: Recorrer Tabla/cursor y formar un solo dato

From: Micky Khan <mcanchas(at)hotmail(dot)com>
To: FORO POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Recorrer Tabla/cursor y formar un solo dato
Date: 2017-12-28 22:24:48
Message-ID: AM4P190MB0225F28C918E827DCD65196AD7040@AM4P190MB0225.EURP190.PROD.OUTLOOK.COM
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias ....

Estoy tratando de resolverlo...

Si hubiera otra manera te agradecería....

<_>
(o o)
( ?? )
<>-<>
Micky Khan

________________________________
De: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Enviado: jueves, 28 de diciembre de 2017 21:57
Para: Micky Khan
Cc: FORO POSTGRES
Asunto: Re: Recorrer Tabla/cursor y formar un solo dato

Micky Khan escribió:

> y me muestra este error :
> ERROR: no coinciden los paréntesis en o cerca de «;»
> LINE 11: ...CAST( cast( por_pol as INTEGER) as CHAR(5) END CASE || '/' ;

Este problema es simple --- te falta el paréntesis que cierra el CAST.
es decir estas líneas

> CASE WHEN por_alg = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_alg as char(10) END CASE ;
> CASE WHEN por_nyl = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_nyl as char(10) END CASE ;
> CASE WHEN por_pol = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_pol as char(10) END CASE ;
> CASE WHEN por_lyc = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_lyc as char(10) END CASE ;
> CASE WHEN por_coc = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_coc as char(10) END CASE ;
> CASE WHEN por_vis = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_vis as char(10) END CASE ;
> CASE WHEN por_acr = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_acr as char(10) END CASE ;

deberían ser

> CASE WHEN por_alg = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_alg as char(10)) END CASE ;
> CASE WHEN por_nyl = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_nyl as char(10)) END CASE ;
> CASE WHEN por_pol = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_pol as char(10)) END CASE ;
> CASE WHEN por_lyc = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_lyc as char(10)) END CASE ;
> CASE WHEN por_coc = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_coc as char(10)) END CASE ;
> CASE WHEN por_vis = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_vis as char(10)) END CASE ;
> CASE WHEN por_acr = 100 THEN cHilado2 := '' ELSE cHilado2 := cHilado2 || cast( por_acr as char(10)) END CASE ;

Me parece que hay más problemas en tu código, y me parece que hay una
manera más simple de solucionar el requerimiento, pero eso te puedo
decir por ahora.

--
Álvaro Herrera https://www.2ndQuadrant.com/
[https://www.2ndquadrant.com/static/images/logo.png]<https://www.2ndquadrant.com/>

Professional PostgreSQL | 2ndQuadrant<https://www.2ndquadrant.com/>
www.2ndquadrant.com
Stay in touch with us. Subscribe to our monthly newsletter to hear the latest developments from 2ndQuadrant and related technologies. We’ll also send you any ...

PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Micky Khan 2017-12-28 23:10:21 Re: Recorrer Tabla/cursor y formar un solo dato
Previous Message Alvaro Herrera 2017-12-28 21:57:08 Re: Recorrer Tabla/cursor y formar un solo dato