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

Reply via email to