关于ORACLE中的存储过程的XML使用
调用一个存储过程(别人写的),这个存储过程介绍如下
我不明白的是参数v_str,是一个XML?
是要JAVA生成一个XML对象来传给存储过程吗
在JAVA里如何来执行这个存储过程
PROCEDURE fpgl_jxhxgl_createPrintsn(
/*
9.生成购销存明细帐单的打印编号
*/
v_nsrbm IN VARCHAR2, /*[1]纳税人编码*/
v_czydm IN VARCHAR2, /*[1]操作员代码*/
v_gxczt IN VARCHAR2, /*[1]购销存状态1:购 2:销 3: 退*/
print_sn OUT VARCHAR2, /*[1]打印编号*/
vc_message OUT VARCHAR2, /*[1]处理过程消息*/
vc_flag OUT VARCHAR2, /*[1]处理过程标记*/
v_str IN LONG, /*[1]xml*/
v_up_xml IN VARCHAR2 /*[3]上传XML*/
)
v_str 格式: <data>
<row rowId= "new " rowFlag= "add ">
<column name= "v_fpdm "> 237030700009 </column>
<column name= "v_fpmc "> **省通用定额发票 (100元)(二联) </column>
<column name= "v_fphmq "> 00002501 </column>
<column name= "v_fphmz "> 00002550 </column>
<column name= "v_fpsl "> 1 </column>
<column name= "v_pkhj "> 8.00 </column>
<column name= "v_mzhj "> 5000.00 </column>
<column name= "v_fs "> 50 </column>
<column name= "v_dj "> 8.00 </column>
<column name= "v_stpsl "> 1 </column>
<column name= "v_gxczt "> 购 </column>
<column name= "v_dw "> 本 </column>
<column name= "v_jxje "> </column>
<column name= "v_zg "> 370300009 </column>
</row>
<row rowId= "new " rowFlag= "add ">
<column name= "v_fpdm "> 237030700008 </column>
<column name= "v_fpmc "> **省通用定额发票(50元)(二联) </column>
<column name= "v_fphmq "> 00000101 </column>
<column name= "v_fphmz "> 00000350 </column>
<column name= "v_fpsl "> 5 </column>
<column name= "v_pkhj "> 40.00 </column>
<column name= "v_mzhj "> 12500.00 </column>
<column name= "v_fs "> 50 </column>
<column name= "v_dj "> 8.00 </column>
<column name= "v_stpsl "> 48 </column>
<column name= "v_gxczt "> 购 </column>
<column name= "v_dw "> 本 </column>
<column name= "v_jxje "> </column>
<column name= "v_zg "> 370300008 </column>
</row>
</data>
v_up_xml 格式:new|add|237030700009|**省通用定额发票 (100元)(二联)|00002501|00002550|1|8.00|5000.00|50|8.00|1|购|本||370300009;
new|add|237030700008|**省通用定额发票(50元)(二联)|00000101|00000350|5|40.00|12500.00|50|8.00|48|购|本||370300008;
[解决办法]
建议你看JDBC说明3.0/4.0,里面讲的很详细
我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html