CREATE OR REPLACE PROCEDURE muestra_encuesta(usu varchar2) AS temp NUMBER; cont NUMBER; CURSOR c1 IS SELECT seq_encuesta,pregunta,respuesta1,respuesta2,respuesta3,respuesta4,respuesta5,respuesta6, respuesta7,respuesta8,respuesta9,respuesta10,total1,total2,total3,total4,total5,total6,total7, total8,total9,total10,fecha_fin FROM ENCUESTAS where seq_encuesta = (select max(SEQ_ENCUESTA) from encuestas where nvl(to_date(fecha_fin,'DD/MM/YYYY'),sysdate+1)>to_date(sysdate,'DD/MM/YYYY')); wusuario varchar2(50); control number; BEGIN control:=0; htp.print('
'); FOR reg IN c1 LOOP htp.print(''); SELECT NVL(total1,0)+NVL(total2,0)+NVL(total3,0)+NVL(total4,0)+NVL(total5,0)+NVL(total6,0)+NVL(total7,0)+NVL(total8,0)+NVL(total9,0)+NVL(total10,0) INTO temp FROM ENCUESTAS WHERE seq_encuesta =reg.seq_encuesta; IF temp=0 THEN temp:=NULL; END IF; htp.print('

'||reg.pregunta||'
'); IF reg.respuesta1 IS NOT NULL THEN cont:=reg.total1 * 100/temp; htp.print(' '); END IF; IF reg.respuesta2 IS NOT NULL THEN cont:=reg.total2 * 100/temp; htp.print(' '); END IF; IF reg.respuesta3 IS NOT NULL THEN cont:=reg.total3 * 100/temp; htp.print(' '); END IF; IF reg.respuesta4 IS NOT NULL THEN cont:=reg.total4 * 100/temp; htp.print(' '); END IF; IF reg.respuesta5 IS NOT NULL THEN cont:=reg.total5 * 100/temp; htp.print(' '); END IF; IF reg.respuesta6 IS NOT NULL THEN cont:=reg.total6 * 100/temp; htp.print(' '); END IF; IF reg.respuesta7 IS NOT NULL THEN cont:=reg.total7 * 100/temp; htp.print(' '); END IF; IF reg.respuesta8 IS NOT NULL THEN cont:=reg.total8 * 100/temp; htp.print(' '); END IF; IF reg.respuesta9 IS NOT NULL THEN cont:=reg.total9 * 100/temp; htp.print(' '); END IF; IF reg.respuesta10 IS NOT NULL THEN cont:=reg.total10 * 100/temp; htp.print(' '); END IF; htp.print('
'||nvl(temp,0)||' Participantes '||chr(38)||'nbsp; Resultados
'||reg.respuesta1||' '||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||nvl(round(cont),0)||'%
'||reg.respuesta2||' '||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||nvl(round(cont),0)||'%
'||reg.respuesta3||' '||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||nvl(round(cont),0)||'%
'||reg.respuesta4||' '||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||nvl(round(cont),0)||'%
'||reg.respuesta5||' '||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||nvl(round(cont),0)||'%
'||reg.respuesta6||' '||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||nvl(round(cont),0)||'%
'||reg.respuesta7||' '||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||nvl(round(cont),0)||'%
'||reg.respuesta8||' '||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||nvl(round(cont),0)||'%
'||reg.respuesta9||' '||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||nvl(round(cont),0)||'%
'||reg.respuesta10||' '||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||chr(38)||'nbsp;'||nvl(round(cont),0)||'%
'); select nvl(count(*),0) into control from controlencuestas where seq_encuesta=reg.seq_encuesta and usuario=usu; if nvl(control,0)=0 then if nvl(to_date(reg.fecha_fin,'DD/MM/YYYY'),sysdate+1)>to_date(sysdate,'DD/MM/YYYY') then htp.print(''); else htp.print('
Encuesta Cerrada
'); end if; else htp.print('
Votación Realizada.
'); end if; htp.print('

'); END LOOP; END; /