Начало » Использование СУБД » Firebird, HQbird, InterBase » select на удаленной базе (execute statement - как правильно приготовить)
select на удаленной базе [сообщение #5701] |
Tue, 12 November 2024 20:34 |
GrigoryFomin
Сообщений: 91 Зарегистрирован: April 2023
|
Member |
|
|
Доброго дня.
Помогите, плз с проблемой.
Необходимо выполнить SELECT на другой базе и получить результат.
Пробую сделать так:
execute block as
declare variable poss varchar(1000);
declare variable vall numeric (16,0);
begin
for execute statement
'select row_number() over (order by sum(pricetowdisc) desc) || '' место - '' || badgename || '' [Б+'' || caname||'']'' as poss, sum(pricetowdisc) as total from opers o
join contragents c on caid=opcaidown
join emps e on e.empid=o.empid
where opdate between dateadd(day,-30,current_timestamp) and current_timestamp and optype in (100,101,102,150,151,152)
group by caname,badgename
order by total desc'
WITH AUTONOMOUS TRANSACTION
ON EXTERNAL 'd:\basa\DBSERVER.FDB'
into :poss, :vall
do
begin
end
но выдает ошибку, что неожиданный конец команды. селект выдает множество строк при этом.
Пните в нужном направлении, плз
|
|
|
|
|
|
|
|
Re: select на удаленной базе [сообщение #5712 является ответом на сообщение #5706] |
Wed, 13 November 2024 20:10 |
sim_84
Сообщений: 330 Зарегистрирован: June 2022
|
Senior Member |
|
|
Открой для себя альтернативные кавычки для строковых литералов и сразу станет легче
execute block as
declare variable poss varchar(1000);
declare variable vall numeric (16,0);
begin
for
execute statement
Q'{
select
row_number() over (order by sum(pricetowdisc) desc) || ' место - ' || badgename || ' [Б+' || caname|| ']' as poss,
sum(pricetowdisc) as total
from
opers o
join contragents c on caid=opcaidown
join emps e on e.empid=o.empid
where opdate between dateadd(day, -30,current_timestamp)
and current_timestamp and optype in (100,101,102,150,151,152)
group by caname, badgename
order by total desc
}'
WITH AUTONOMOUS TRANSACTION
ON EXTERNAL 'd:\basa\DBSERVER.FDB'
into :poss, :vall
do
begin
end
end
|
|
|
Re: select на удаленной базе [сообщение #5713 является ответом на сообщение #5712] |
Thu, 14 November 2024 05:29 |
fraks
Сообщений: 139 Зарегистрирован: June 2022 Географическое положение: Новосибирск
|
Senior Member |
|
|
sim_84 писал(а) Thu, 14 November 2024 00:10Открой для себя альтернативные кавычки для строковых литералов и сразу станет легче
execute block as
declare variable poss varchar(1000);
declare variable vall numeric (16,0);
begin
for
execute statement
Q'{
select
А это с какой версии появилось (альтернативные кавычки)?
[Обновления: Thu, 14 November 2024 05:30] Известить модератора
|
|
|
|
Переход к форуму:
Текущее время: Thu Nov 21 12:48:50 GMT+3 2024
Общее время, затраченное на создание страницы: 0.01008 секунд
|