pomoc w przeprojektowaniu bazy
stach - 21-05-2006 00:23
pomoc w przeprojektowaniu bazy
Witam, Mam dwie tabele: 1. TabA - tabela tymczasowa, codziennie zapełniana jest nowymi danymi z roznych zrodel 2. TabB - z takimi samymi polami jak TabA + pole timestamp, + pole IleWpisow ..
Gdy w TabA pojawia sie rekord, ktorego nie ma w TabB, dodawany jest do TAbB. Jesli natomiast istnieje juz w TabB zwiekszany jest licznik w polu IleWpisow.
Realizuje powyzsze tworzac kursor na TAbA i wg. warunkow robiac insert lub update na TabB.
Wiem, ze kursory nie sa zbyt polecane i mozna by to bylo zrobic w inny sposob .. I tuta mam pytanie jak mialaby wygladac taka procedurka realizujaca powyzsze ale bez kursora?
-- pozdrawiam Stach
Grzegorz Danowski - 21-05-2006 00:23
Użytkownik "stach" <stach@interia.pl> napisał w wiadomości news:e4mqcc$8go$1@atlantis.news.tpi.pl... > Witam, > Mam dwie tabele: > 1. TabA - tabela tymczasowa, codziennie zapełniana jest nowymi danymi z > roznych zrodel > 2. TabB - z takimi samymi polami jak TabA + pole timestamp, + pole > IleWpisow . > > Gdy w TabA pojawia sie rekord, ktorego nie ma w TabB, dodawany jest do > TAbB. > Jesli natomiast istnieje juz w TabB zwiekszany jest licznik w polu > IleWpisow. > > Realizuje powyzsze tworzac kursor na TAbA i wg. warunkow robiac insert lub > update na TabB. > > Wiem, ze kursory nie sa zbyt polecane i mozna by to bylo zrobic w inny > sposob .. > I tuta mam pytanie jak mialaby wygladac taka procedurka realizujaca > powyzsze ale bez kursora?
1. Dodanie nowych rekordów do TabB, czyli tych których tam nie ma:
Insert Into TabB (pole1, pole2, pole3, ....itd wszystkie, IleWpisow) Select pole1, pole2, pole3, ....itd wszystkie, 0 From TabA Left Join TabB On TabA.KluczWTejTabeli = TabB.KluczWTejTabeli Where TabB.KluczWTejTabeli Is Null
2. Aktualizacja licznika:
Update TabB Set IleWpisow = T.IleWpisow + 1 From TabB As T Inner Join TabA On TabA.KluczWTejTabeli = TabB.KluczWTejTabeli
Jeśli twoja baza obsługuję procedury przechowywane, to możesz wrzucić oba polecenia do jednej procedury.
Pozdrawiam Grzegorz
stach - 21-05-2006 00:23
Użytkownik "Grzegorz Danowski" <gdn__na@serwerze__poczta.onet.pl> napisał w wiadomości news:e4mt57$9sr$1@inews.gazeta.pl...
> > Jeśli twoja baza obsługuję procedury przechowywane, to możesz wrzucić oba > polecenia do jednej procedury. > > Pozdrawiam > Grzegorz
Dziekuje bardzo
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
=?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?=
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
=?iso-8859-2?Q?=5BSQL_Server_2000=5D_uprawnienienia_do_u=BFyw ania_widoku_?==?iso-8859-2?Q?opartego_na_tabeli_z_innej_bazy?=
Dwie bazy czy dwie tabele?
[PHP i MySQL] Wstawianie =?ISO-8859-2?Q?rekord=F3w_do_bazy_?==?ISO-8859-2?Q?a_z=B3e_kodowanie?=
=?ISO-8859-2?Q?=5Bmysql=5D_synchronizacja_struktury_bazy_?==? ISO-8859-2?Q?lokalnej_ze_zdaln=B1?=
[Oracle] Co do tworzenia aplikacji dla bazy Oracle
narzedzie do transferu bazy mysql - mysql
narzedzie do transferu bazy odbc - odbc
Połączenie bazy danych z wykonaniem polaczenia telefonicznego
zanotowane.pldoc.pisz.plpdf.pisz.plponland.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|