我的oracle 函数:
create or replace procedure get_cur_item_info(sysItemIds in varchar2,sysId in varchar2,items out sys_refcursor) is
begin
open items for
select
civ.item_id,civ.sys_item_id,civ.sys_id,civ.parent_id,civ.name,civ.version_code,'' as privilege_value
from
tbl_prvlg_cur_item_view civ
where
civ.sys_item_id in (sysItemIds);
exception
when others then
dbms_output.put_line(sqlcode || sqlerrm);
rollback;
end get_cur_item_info;
很简单的一个查询函数
-------------------------------------------------------------------
ibatis 配置文件: <procedure id="queryIteminfo" parameterMap="itemParameter">
{call get_cur_item_info(?,?,?,?)}
</procedure><parameterMap id="itemParameter" class="java.util.Map">
<parameter property="sysItemIds" jdbcType="VARCHAR2" javaType="java.lang.String" mode="IN" />
<parameter property="sysId" jdbcType="VARCHAR2" javaType="java.lang.String" mode="IN" />
<parameter property="items" jdbcType="ORACLECURSOR" javaType="cursor" mode="OUT" resultMap="compareItemUpdate" />
</parameterMap>----------------------------------------------------------------
问题:我调用这个函数的时候,参数 sysItemIds = "'1','2'"
传到oracle的时候自动 变为:''1','2''
以前在ibatis中传这种参数的时候用 $$ 符号。但是在调用函数的时候 好像不能这样用把
create or replace procedure get_cur_item_info(sysItemIds in varchar2,sysId in varchar2,items out sys_refcursor) is
begin
open items for
select
civ.item_id,civ.sys_item_id,civ.sys_id,civ.parent_id,civ.name,civ.version_code,'' as privilege_value
from
tbl_prvlg_cur_item_view civ
where
civ.sys_item_id in (sysItemIds);
exception
when others then
dbms_output.put_line(sqlcode || sqlerrm);
rollback;
end get_cur_item_info;
很简单的一个查询函数
-------------------------------------------------------------------
ibatis 配置文件: <procedure id="queryIteminfo" parameterMap="itemParameter">
{call get_cur_item_info(?,?,?,?)}
</procedure><parameterMap id="itemParameter" class="java.util.Map">
<parameter property="sysItemIds" jdbcType="VARCHAR2" javaType="java.lang.String" mode="IN" />
<parameter property="sysId" jdbcType="VARCHAR2" javaType="java.lang.String" mode="IN" />
<parameter property="items" jdbcType="ORACLECURSOR" javaType="cursor" mode="OUT" resultMap="compareItemUpdate" />
</parameterMap>----------------------------------------------------------------
问题:我调用这个函数的时候,参数 sysItemIds = "'1','2'"
传到oracle的时候自动 变为:''1','2''
以前在ibatis中传这种参数的时候用 $$ 符号。但是在调用函数的时候 好像不能这样用把
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货