D7/SQL - kopiowanie rekordu z T1 do T2

0

Witam

Próbuję już drugi dzień napisac poprawnie procedurkę, która będzie mi kopiować rekord z jednej tabeli (ibquery1) do drugiej (ibquery2).

procedure TForm1.Button2Click(Sender: TObject);
begin
  with IBQUERY1, IBQUERY2, SQL do
   begin
    Close;
    Clear;
    Add('INSERT INTO ARCHIWA (ID_KUR, NAZWISKO, IMIE) SELECT ID_KUR, NAZWISKO, IMIE FROM KURSANT WHERE ID_KUR = 2');
    ExecSQL;
    IBTransaction2.Commit;
   end;
end;

Zrobiłem 2 identyczne bazy (w IBExpert) z tą samą strukturą, tylko jedna to KURSANT, a druga to ARCHIWA.
Do tabeli ARCHIWA chcę kopiować rekord z tabeli KURSANT WHERE ID_KUR = np. 2.
Potem oczywiście usunąć ten rekord z tabeli KURSANT, ale z tym nie mam problemu.

Co do powyższego kodu:
Wyskakuje błąd "Unknown table KURSANT", tak jakby nie rozpoznawał tej tabeli.
Gdzie robię błąd w tym kodzie?
Używam komponentów IBX.

0

Jak się nie da to ewentualnie komórki z wiersza zapisywać do zmiennych, a potem je dodawać jako nowy rekord w nowej tabeli... :-|

0
DMX napisał(a)

Zrobiłem 2 identyczne bazy (w IBExpert) z tą samą strukturą, tylko jedna to KURSANT, a druga to ARCHIWA.
bazy czy tabele?

0

bazy czy tabele?

Bazy. U mnie 1 baza to 1 tabela.
Aha czyli nie da się tego kodu poprawić lub nie ma nikogo kto by to potrafił...:)

0

coś takiego jest możliwe w FB od wersji 2.5 http://pabloj.blogspot.com/2008/07/another-great-new-feature-of-firebird.html - wcześniejsze wersje FB nie wspierają zapytań z wielu baz

0

No właśnie dziś próbowałem operowac na kilku bazach bezpośrednio w edytorze i wykonać powyższe zapytanie i było lipnie, bo bazę miałem tylko tą aktywną, w której się obecnie znajduję.
Używam Firebirda z 2006.03.07 (2.0) i mogę tylko potwierdzić Twoje słowa.
Tak czy siak, nie zamierzam się poddawać. :-)

W ogóle przy tworzeniu ID_KUR robiłem Select MAX zamiast używać wyzwalacza ehh...wódki zbyt dużo. [browar]
Thx za link.

1 użytkowników online, w tym zalogowanych: 0, gości: 1