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 ?









Reply via email to