Thanks guys for the explaination, it didnt solve my problem but atleast I learned something. I didnt know '? = function_name' was used only for single OUT's with no IN's. But most of all (I almost feel ashamed) i didnt know a procedure could have 2 OUT values.
However I did manage to find a temporary solution to my problem with regard to procedure that have a single OUT param. I just wrapped them in a select statement and run it against dual. Eg.: 'select f_gettsid as tsid from dual' ... works fine ! Actually got an email form Clinton Begin himself.. he told me to look in his new book 'IBatis in action'. There is an example on page 121 ! Great way to sell a book hey ;-) Nevertheless I will buy it soon.. On 5/3/07, Yee, Richard K CTR DMDC <[EMAIL PROTECTED]> wrote:
Mark, The syntax is used for IN, OUT, and INOUT parameters. What would you do if the procedure returned 2 values if ?= was only available? -----Original Message----- From: Mark Bleichert [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 02, 2007 3:41 PM To: [email protected] Subject: Re: How do you call a stored procedure with a single OUT paramete r Thanks for the reply, I will try your change tomorrow when I get to the office. How ever I am kind of confused here because I have seen the syntax that you are using before on the mailing list. Nevertheless I thought that '(?)' after the SP is for 'IN' parameters and not for 'OUT'. In standard jdbc '? = function_name(?) ' the '?=' describes the OUT param whereas (?) after the function is for IN params. Thanks, Mark On 5/2/07, Yee, Richard K CTR DMDC <[EMAIL PROTECTED]> wrote: Try this: <parameterMap id="mymap" class="java.util.Map"> <parameter property="value" mode="OUT" /> </parameterMap> <procedure id="getSequence" parameterMap="mymap"> { call f_gettsid(?) } </procedure> -----Original Message----- From: Mark Bleichert [mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ] Sent: Wednesday, May 02, 2007 11:54 AM To: [email protected] Subject: How do you call a stored procedure with a single OUT parameter I was wondering if you could give me an example of how to call a stored procedure in ibatis sqlmaps that has no IN parameters and a single OUT parameter of type varchar. I went through all the mail-archive threads but nothing seemed to work. -------------------------------------------------- calling code ---------------------------------------------- Map map = new HashMap(); map.put("value", "0"); map = (HashMap)queryForObject("getSequence", map); -------------------------------------------------- xml mapping ---------------------------------------------- <parameterMap id="mymap" class="java.util.Map"> <parameter property="value" mode="OUT" /> </parameterMap> <procedure id="getSequence" parameterMap="mymap"> { ? = call f_gettsid } </procedure> Any suggestion to what I am doing wrong ?
