以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 XML 与 数据库 』  (http://bbs.xml.org.cn/list.asp?boardid=17)
----  使用trigger为什么不能生成xml文件-菜鸟的疑惑?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=17&rootid=&id=30019)


--  作者:hillyun
--  发布时间:4/5/2006 7:27:00 PM

--  使用trigger为什么不能生成xml文件-菜鸟的疑惑?
oracle9i的数据库,使用DBMS_XMLGEN来生成XML文件.
如下代码:
      QRYCTX :=DBMS_XMLGEN.NEWCONTEXT('
           select dept_t(orderkey,externorderkey,consigneekey,
                         to_char(ORDERDATE,''yyyy/mm/dd hh:mi:ss'') ,
                         EDITWHO,
                         to_char(editdate,''yyyy/mm/dd hh:mi:ss''),
                   CAST(MULTISET
                        (SELECT  b.SKU,b.qty,b.lot,
                                 to_char(c.lottable04,''yyyy/mm/dd hh:mi:ss'') ,
                                 c.lottable06,b.id
                          from    pickdetail b,lotattribute c,sku d
                          where   b.orderkey = a.orderkey
                          and     b.lot = c.lot
                          and     b.sku = d.sku
                          )
                          as pickdetaillist_t ))  AS ORDERS
                   from   orders a
                   where  orderkey = '''||V_ORDERKEY||''' ');
                                      DBMS_XMLGEN.SETROWTAG(QRYCTX,'SO');
                                      RESULT :=DBMS_XMLGEN.GETXML(QRYCTX);
file_handle := UTL_FILE.FOPEN('TMP', 'SO11.xml', 'w');
UTL_FILE.PUTF(file_handle, RESULT);
UTL_FILE.FCLOSE(file_handle);


同一段代码,使用procedure能够正常生成xml文件,但是使用trigger却报错:
ERROR 位于第 1 行:
ORA-19206: 用于查询或 REF CURSOR 参数的值无效
ORA-06512: 在"SYS.DBMS_XMLGEN", line 83
ORA-06512: 在"WH1.DD", line 34
ORA-04088: 触发器 'WH1.DD' 执行过程中出错

是不是trigger中不能使用DBMS_XMLGEN啊???
望高手能够解答.


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms