Kopiowanie danych pomiędzy tabelamiPoniedziałek, 05 Styczeń 2009 22:09 Dane pomiędzy tabelami można skopiować bezpośrednio wykorzystując zapytanie SQL. Należy oczywiście pamiętać, że bazy danych, w których te same dane powtarzają się zostały błędnie zaprojektowane. Właśnie po to wymyślono relacje i diagramy związków encji żeby wyeliminować powtarzanie się danych wewnątrz bazy. Może jednak zajść konieczność skopiowania danych i wówczas możemy skorzystać bezpośrednio z mechanizmów dostępnych w SQL bez konieczności używania, któregoś z języków programowania. Struktura takiego polecenia może wyglądać następująco: INSERT INTO nazwa_tabeli_docelowej (nowe_pole_1, nowe_pole_2, nowe_pole_3) SELECT pole_1, pole_2, pole_3 FROM nazwa_tabeli_zrodlowej; Ilość pól pobieranych z tabeli źródłowej musi być dokładnie taka sama jak ilość pól tabeli do której kopiujemy dane. W zapytaniu można dodatkowo określić warunek dla danych, które mają zostać skopiowane. INSERT INTO nazwa_tabeli_docelowej (pole_1, pole_2, pole_3) SELECT pole_1, pole_2, pole_3 FROM nazwa_tabeli_zrodlowej; /* ewentualnie dodatkowo warunek */ WHERE pole_1 != ''; Powyższe zapytanie SQL skopiuje jedynie te rekordy, których posiadają jakąś wartość w polu: pole_1 tabeli źródłowej. Zmieniony: Poniedziałek, 05 Styczeń 2009 22:35 |
|
|
|
|
|
|
Bazy danych