Можно ли вызвать хранимую процедуру в cfloop и вывести динамические выходные параметры в Coldfusion?

Последний вопрос на сегодня, все еще использующий Coldfusion8 и MySQL.

У меня есть таблица с продуктами, каждый с ценами A, B и C. Мне нужно извлечь минимальное и максимальное значения для A, B, C для всех цен (A_min, A_max, B_min, B_max, C_min, C_max)

Я думал, что создам хранимую процедуру и перебираю A, B, C примерно так:

  <cfloop list="A,B,C" index="what" delimiters=",">
    <cfstoredproc procedure="proc_search_select_minmax" datasource="dtb">
        <cfprocparam type="in" value="#what#" cfsqltype="cf_sql_varchar" maxlength="15">
        <cfprocparam type="in" value="#variables.xxx#" cfsqltype="cf_sql_varchar" maxlength="13">
        <cfprocparam type="in" value="#variables.yyy#" cfsqltype="cf_sql_varchar" maxlength="13">
        <cfprocparam type="in" value="#variables.zzz#" cfsqltype="cf_sql_text" maxlength="4">
        <cfprocparam type="out" cfsqltype="cf_sql_decimal" variable="#what#_min">
        <cfprocparam type="out" cfsqltype="cf_sql_decimal" variable="#what#_max">   
     </cfstoredproc>
  </cfloop>

Таким образом, идея состояла в том, чтобы выполнить это три раза для A, B и C и получить переменные A_min, A_max, B_min ... из цикла.

Но у меня есть проблемы с моими out-параметрами, которые внутри MySQL, я заявляю как:

 CREATE ... PROCEDURE `proc_search_select_minmax`(..., OUT `outputMin` DECIMAL(12,2), OUT `outputMax` DECIMAL(12,2))

 .... 
 SET outputMin = min(what);
 SET outputMax = max(what);

Ошибка Coldfusion говорит:

Error Executing Database Query
@
<cfprocparam type="out" cfsqltype="cf_sql_decimal" variable="#what#_min">
<cfprocparam type="out" cfsqltype="cf_sql_decimal" variable="#what#_max">

Questions:
Должен ли я присвоить своим параметрам то же имя, что и внутри MySQL, или достаточно правильного порядка?
Что еще более важно, я могу установить выходные переменные динамически как это? Если нет, есть ли другие способы, кроме трехкратного вызова хранимой процедуры?

Ответы на вопрос(3)

Ваш ответ на вопрос