You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Christoph Sturm <ch...@schaumwelt.com> on 2001/02/15 02:43:17 UTC

How can I use the result of a select in another statement.

Hello cocoon-users,

I want to use the returnvalue of a select in an insert:

<esql:execute-query>
<esql:query>
 select id from view_type where name like '<request:get-parameter name="type"/>'
 </esql:query>
 </esql:execute-query>

<!-- This returns a result set with one element named "id" -->

<esql:execute-query>
<esql:query>
<!-- in the next line i want to access the id value of the last
select. -->
insert article values (<request:get-parameter name="language"/>, <esql:parameter type="int"><esql:get-int ancestor="0" column="id"/></esql:parameter>)
</esql:query>
</esql:execute-query>

...

I know the esql example, and how nested queries work. But I think that
I can use get-int only in an <esql:results> tag, so this wont work
here.

Can someone give me a hint?


-- 
Best regards,
 Christoph                          mailto:chrisml@schaumwelt.com



Re: How can I use the result of a select in another statement.

Posted by Donald Ball <ba...@webslingerZ.com>.
On Thu, 15 Feb 2001, Christoph Sturm wrote:

> Hello cocoon-users,
>
> I want to use the returnvalue of a select in an insert:
>
> <esql:execute-query>
> <esql:query>
>  select id from view_type where name like '<request:get-parameter name="type"/>'
>  </esql:query>
>  </esql:execute-query>
>
> <!-- This returns a result set with one element named "id" -->
>
> <esql:execute-query>
> <esql:query>
> <!-- in the next line i want to access the id value of the last
> select. -->
> insert article values (<request:get-parameter name="language"/>, <esql:parameter type="int"><esql:get-int ancestor="0" column="id"/></esql:parameter>)
> </esql:query>
> </esql:execute-query>
>
> ...
>
> I know the esql example, and how nested queries work. But I think that
> I can use get-int only in an <esql:results> tag, so this wont work
> here.

<esql:execute-query>
  <esql:query>
    select id from view_type where name like
    <esql:parameter><request:get-parameter name="type"/></esql:parameter>
    <esql:results>
      <esql:row-results>
        <esql:execute-query>
          <esql:query>
            insert into article values (
            <esql:parameter>
              <request:get-parameter name="language"/>
            </esql:parameter>,
            <esql:parameter>
              <esql:get-int column="id" ancestor="1"/>
            </esql:parameter>
            )
          </esql:query>
        </esql:execute-query>
      </esql:row-results>
    </esql:results>
  </esql:query>
</esql:execute-query>

- donald