生成html有很多是重复的代码.
利用该通用函数,可写好sql后, 直接生成报告.
然后加上html头部,尾部即可直接利用mail包发送.
原理.
1. oracle的dbms_xmlgen可以将sys_refcursor生成xml数据.
2. 该package可同时利用xslt转换数据.
点击(此处)折叠或打开
-
function get_htmltable(p_cur sys_refcursor) return clob is
-
ctx DBMS_XMLGEN.ctxhandle;
-
xml CLOB;
-
-
v_xslt clob := q'#
-
-
-
-
-
-
-
#';
-
-
BEGIN
-
ctx := DBMS_XMLGEN.newcontext (p_cur);
-
DBMS_XMLGEN.setxslt (ctx, v_xslt);
-
--该xslt转换必须要 dbms_xmlgen.setnullhandling(ctx,2);
-
--否则生成的xml会丢弃null栏位,
-
dbms_xmlgen.setnullhandling(ctx,2);
-
xml := DBMS_XMLGEN.getxml (ctx, 2);
-
DBMS_XMLGEN.closecontext (ctx);
-
return xml;
- end;
阿飞
2014/12/13