Я получаю следующую ошибку при попытке выполнить sql, который формируется путем объединения нескольких переменных.Perl DBD :: ODBC еще не поддерживает привязку именованного параметра более одного раза
DBD :: ODBC не поддерживает связывание именованный параметр больше, чем когда-то
Я могу выполнить один и тот же SQL из SQL запроса без каких-либо проблем !!
мой код выходит нравится это: (подключение DBI, даты и времени $ формат, все переменные, используемые уже созданы в предыдущих шагах)
$sql = "";
my $param1 = $format->parse_datetime($dateval->ymd('-'));
$param1->add(days => 1);
$sql = crt_view($param1,$param2,$param3,$param4); #crt_view is function which will return a segment of my sql for the parameters passed
$sqlins = "create or replace view v_tabl_xxx as ".$sql;
$sth = $dbi->prepare($sqlins);
$sth->execute() or die("[ERROR] : \n\t$DBI::errstr\n");
Какова ценность '$ sql'? – mob
$ sql получает значение из функции crt_view (arg1, arg2, arg3, arg4), . Конечные значения в $ sql - это DDL-представление, которое работает без каких-либо проблем с редакторами sql. для ссылочных значений: ** СОЗДАТЬ ИЛИ ЗАМЕНИТЬ VIEW v_tabl_xxx AS SELECT id, mid, NVL (val, '- 1') AS val, "TIME", EXP (-1.0 * (MINUTES_BETWEEN ("TIME" ", '2013-05-26'))/1440) :: REAL AS delay FROM tabl_xxx_201303 WHERE" TIME "> = '2013-03-05' UNION ALL SELECT id, mid, NVL (val, '- 1') AS val, «TIME», EXP (-1.0 * (MINUTES_BETWEEN («TIME», «2013-05-26»))/1440) :: REAL AS delay FROM tabl_xxx_201304 ** – MikA