Witam
Mam taki problem, potrzebuję przegrać dane z jednej bazy do drugiej (firebird). Trudnością jest uzyskanie połączenia do drugiej bazy wykorzystując execute statement.
Kod który pozwala wykonać zwykły select wygląda tak i jest ok:
execute block returns (
dataa timestamp,
notatka varchar(1000))
as
begin
for execute statement 'select DATA, NOTES from HISTORY'
On external data source 'localhost: ścieżka do bazy danych .gdb' as user 'sysdba' PASSWORD 'masterkey'
INTO
:dataa,
:Notatka
do SUSPEND;
end
ale jak chcę wykonać select z warunkiem daty to zaczyna się problem:
execute block returns (
dataa timestamp,
notatka varchar(1000))
as
begin
for execute statement 'select DATA, NOTES from HISTORY WHERE DATA < 2016-01-20'
On external data source 'localhost: ścieżka do bazy danych .gdb' as user 'sysdba' PASSWORD 'masterkey'
INTO
:dataa,
:Notatka
do SUSPEND;
end
ponieważ tak zapisany select baza odczytuję jako mniejsze od 1995 a umieszczenie daty w pojedynczym cudzysłowie ' '
'select DATA, NOTES from HISTORY WHERE DATA < '2016-01-20' '
jest odczytywane jako select DATA, NOTES from HISTORY WHERE DATA <
W jaki sposób należy napisać taki blok aby wykonał się poprawnie lub może jest jakiś inny sposób na przekopiowanie danych z jednej bazy do drugiej.