| From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
|---|---|
| To: | Micky Khan <mcanchas(at)hotmail(dot)com> |
| Cc: | FORO POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org> |
| Subject: | Re: Recorrer Tabla/cursor y formar un solo dato |
| Date: | 2017-12-28 21:57:08 |
| Message-ID: | 20171228215708.76dosdy2tq4hanq6@alvherre.pgsql |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
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/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Micky Khan | 2017-12-28 22:24:48 | Re: Recorrer Tabla/cursor y formar un solo dato |
| Previous Message | Micky Khan | 2017-12-28 21:22:29 | Recorrer Tabla/cursor y formar un solo dato |