天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 1126|回复: 5

[已解决] 请具体一下解释“call procedureName(类型:v1,类型:v2,out:package)”

[复制链接]
上海普兰金融 发表于 2013-10-18 11:51:25 | 显示全部楼层 |阅读模式
本帖最后由 kimi 于 2013-10-18 13:49 编辑

看了这篇帖子:http://teemlink.com/bbs/viewthre ... 6%B4%A2%B9%FD%B3%CC,对“call procedureName(类型:v1,类型:v2,out:package)”写得不详细:
其中的“类型”,是指Oracle数据库字段类型,写varchar2?还是指Oracle的输入输出类型,写in/out?
v1如果是字符串,比如“字段1”,是写“字段1”,还是写“'字段1'”,即带不带双引号啊?
package是啥含义,随便定义的一个变量名称,还是只能写package?如果是“随便定义的一个变量名称”,那么它具体是啥类型的?
sophie 发表于 2013-10-18 13:00:14 | 显示全部楼层
如果您是带参的存储过程,那么您的代码可以写成下面的样子:
var value="aaaa";
var value2="1001";
var sql="call sp_test2 (String:"+value+",String:"+value2+",out:package)";
sql;

类型 的意思:如上面的String 表示参数类型为字符串 日期类型可以写Date  整型可以写Int
若要返回一个数据集 ,请写上 out:package  这个是返回数据集的固定写法
 楼主| 上海普兰金融 发表于 2013-10-18 13:32:23 | 显示全部楼层
嗯,好的,清楚了~
另外,个人建议将OracleDocStaticTblDAO类中private Map<Integer,Object> parseParametersInOracle(CallableStatement statement, String procedure, ParamsTable params, int page,int lines, String domainid) throws Exception这个方法的如下这段代码:
if (p != null && p.length == 2) {
                                        String type = p[0].trim();
                                        String value = p[1].trim();
修改成
if (p != null) {
                                        String type = p[0].trim();
                                        String value = (p.length == 2)? p[1].trim() : "";
以支持查询条件传入空串的情况
kimi 发表于 2013-10-18 13:49:00 | 显示全部楼层
你好:这块刚刚问过研发,代码还是按照平台现在的格式,如您想传空情况,那您对应调用就可以变成:“call procedureName(类型:"",类型:"",out:package)”;不过这边也非常感谢您的建议。
 楼主| 上海普兰金融 发表于 2013-10-24 09:18:42 | 显示全部楼层
好的,OK了
bobo 发表于 2013-10-24 09:19:41 | 显示全部楼层
嗯,好的,感谢您的反馈!帖子关闭!

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 04:34

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表