[
https://issues.apache.org/jira/browse/IBATIS-264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12718040#action_12718040
]
sph commented on IBATIS-264:
----------------------------
It will be of really useful to have parameterized include
because it will result in more reusability of queries in a large scale
applications.
> Include with parameter
> ----------------------
>
> Key: IBATIS-264
> URL: https://issues.apache.org/jira/browse/IBATIS-264
> Project: iBatis for Java
> Issue Type: Improvement
> Components: SQL Maps
> Affects Versions: 2.1.7
> Reporter: Nils Winkler
> Priority: Minor
>
> I have the following problem: I include the same SQL snippet from
> multiple select statements, some of them for completely unrelated
> tables. This is done because these tables contain quite a few columns
> with the same names in both tables.
> <sql id="inc">
> name,
> value,
> foo,
> bar
> </sql>
> <select id="loadA">
> select id,
> <include refid="inc" />
> from A
> </select>
> <select id="loadB">
> select id,
> <include refid="inc" />
> from B
> </select>
> When including the list of columns, it would be quite handy to add a
> parameter to the include, for example to set a table alias in case I
> have a join between tables:
> <select id="loadA">
> select a.id, b.id,
> <include refid="inc" />
> from A a
> inner join B b on (b.id = a.id)
> where b.baz = #baz#
> </select>
> In the above query, "name", "value" etc are no longer unique in the
> query, most of the time you end up with the wrong values.
> It would be great if I would be able to pass in a parameter to the
> include, e.g.:
> <select id="loadA">
> select a.id, b.id,
> <include refid="inc" param="a."/>
> from A a
> inner join B b on (b.id = a.id)
> where b.baz = #baz#
> </select>
> so I could have the SQL snippet defined like this:
> <sql id="inc">
> $param$name,
> $param$value,
> $param$foo,
> $param$bar
> </sql>
> This way, all of the statements would still work and I could make sure
> that the correct columns are used in each case.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.