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: | Raw Message | Whole Thread | 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 |