Hola
Quisiera favor un DBA me confirme si la inclusión de código HTML en procedimientos almacenados o packages de BD Oracle (Por ejm: para el despliegue de formularios web y pantallas de una aplicación) podria afectar la perfomance y tiempo de respuesta de la misma BD.
A su parecer es buena práctica ? O cual seria la recomendación a los programadores que vuelcan todo al servidor de BD.
Adjunto un ejemplo de un select utilizado en una función de la BD al cual se le pasan parametros para su ejecucion :
SELECT '<tr style="vertical-align:top;background-color:#F3F3F3">
<td colSpan=9>'||SUBSTR(ENT_DESC,1,50)||'
<b>('||ABREVIATURA||')</b><br> '||DIRECCION||'
<b>('||DEP_DESC||') <br>(Telef : '||TELEFONO||'</b>)
</td>
</tr>
<tr style="vertical-align:top;'||(CASE WHEN
F_PRESENT_PROPUESTAS<SYSDATE THEN 'background-
color:#FFCC99' ELSE '' END)||'">
<td>
<div>
<span style="background-color:
#111111;color:#FFFFFF"> <b>@ROW@</b> </span>
</div>
<div align=center>
'||TO_CHAR(F_PRESENT_PROPUESTAS,'dd/mm/yyyy')||'
</div>
'||(CASE WHEN :B17 IS NOT NULL THEN '<input type="button"
value="Asignar"
onclick="AsignarAlTribunal('''||REPLACE(ENT_DESC,' "','')||''','''||REPLACE(
DIRECCION||'/DPTO:'||DEP_DESC||'/TELF:'||TELEFONO,'"','')||''','''||PROC_
TIPO_SIGLA||''','''||PROC_NUM||''','''||PROC_SIGLA ||''','''||ANHOENTIDAD||'''
,'''||CODCONSUCODE||''','''||N_CONVOCA_ORIGEN||''' ,'''||OBJ_DESC||''','''||C
ODOBJETO||''','''||LOWER(DES_OBJETO)||''','''||PRO C_TIPO||''')">' ELSE ''
END)||'
</td>
<td>'||LOWER(DES_OBJETO)||' <br><font
color="#FF0000">('||OBJ_DESC||')</font>
<br><b>'||PROC_TIPO_SIGLA|| ' '|| B.DES_TIPO_SUBASTA||' '
||'.'||PROC_NUM||'-'||ANHOENTIDAD||'/'||PROC_SIGLA||' <br>(convocatoria
: '||NUM_CONVOCA||')
<br><font color=#0000ff>'||MON_DESC||' :
'||TO_CHAR(V_REFERENCIAL,'999,999,999,999.00')||'</font></b> '
||CASE WHEN IND_PART_ELECTRONICA=1 OR A.COD_TIPO_SUBASTA=2
THEN '<br><span style="background-color:
#FF0000"><font color="#FFFFFF"><b> <i>Proceso
Electrónico</i></b></font></span>' ELSE '' END || '<br><font
color=#008000>'||(CASE WHEN A.N_FEERRATA IS NULL THEN 'Aviso
de convocatoria PUBLICADO el día' ELSE 'Aviso de convocatoria <font
color=#ff0000><b>'|| CASE WHEN A.N_TIPO=7 THEN 'MODIFICADO...'
WHEN A.N_TIPO=6 THEN ' con ' || A.OBSERVACIONES ELSE ''
END||'</b></font> el día' END)||' :
<br>'||TO_CHAR(F_PUBLICA,'dd/mm/yyyy hh24:mi')||' horas</font>
<br><input type=button value="Detalles"
onclick="enviardatos(lpnconvoca,'||A.N_CONVOCA||', '''||:B16
||'.doviewficha'')">' AS
DATAROW,N_CONVOCA,N_CONVOCA_ORIGEN
FROM
VWM_CONVOCA_PART A INNER JOIN
REG_PROCESOS.T_TIPO_SUBASTA B ON
A.COD_TIPO_SUBASTA=B.COD_TIPO_SUBASTA
LEFT JOIN REG_PROCESOS.CONVOCATORIA_DOC F ON
A.N_CONVOCA_ORIGEN = F.N_CONVOCA AND
F.COD_TIPO_DOC=550 WHERE IND_VIGENTE IN (:B15 ,1) AND (
(CASE WHEN :B14 IS NULL
THEN 1 WHEN CODCONSUCODE=:B14
THEN 1 ELSE 0 END)=1 AND (CASE WHEN :B13 IS NULL THEN 1
WHEN :B13 IS NOT NULL AND F.DOC_URL=SUBSTR('00000'||:B13
,LENGTH('00000'||:B13 ) -4,LENGTH('00000'||:B13 ))||'-'||:B12 ||'-TC' THEN
1 ELSE 0 END)=1 AND (CASE WHEN :B11 IS NULL THEN 1 WHEN
N_CONVOCA=:B11 THEN 1 ELSE 0 END)=1 AND (CASE WHEN :B10
IS NULL THEN 1 WHEN TO_CHAR(F_PUBLICA,'dd/mm/yyyy')=:B10
THEN 1 ELSE 0 END)=1 AND (CASE WHEN :B9 IS NULL THEN 1
WHEN A.CODOBJETO=:B9 THEN 1 ELSE 0 END)=1 AND (CASE
WHEN :B8 IS NULL THEN 1 WHEN PROC_TIPO=:B8 THEN 1 ELSE 0
END)=1 AND (CASE WHEN :B7 IS NULL THEN 1 WHEN
PROC_NUM=:B7 THEN 1 ELSE 0 END)=1 AND (CASE WHEN :B6 IS
NULL THEN 1 WHEN ANHOENTIDAD=:B6 THEN 1 ELSE 0 END)=1
AND (CASE WHEN :B5 IS NULL THEN 1 WHEN DEP_CODIGO=:B5
THEN 1 ELSE 0 END)=1 AND (CASE WHEN :B4 IS NULL THEN 1
WHEN A.COD_TIPO_SUBASTA=:B4 THEN 1 ELSE 0 END)=1 AND
(ENT_DESC LIKE '%'||:B3 ||'%' OR ABREVIATURA LIKE '%'||:B3 ||'%')
AND (UPPER(DES_OBJETO) LIKE '%'||:B2 ||'%' ) AND PROC_SIGLA
LIKE '%'||:B1 ||'%' )
ORDER BY
A.ENT_DESC,A.PROC_TIPO_SIGLA,A.ANHOENTIDAD,A.PROC_ NUM