/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Opdatering af flere tabeller på samme tid ~
Fra : Hans L.


Dato : 29-12-00 21:28

Hej, jeg har brugt en ms access database fra ASP via. ADO/SQL i et stykke
tid ! jeg har også opdateret flere tabeller på samme tid, men har dog ikke
gjort det rigtigt ! Jeg bruger bare 2 updates lige efter hinanden hver der
har været relationer, og dermed er den referentielle integritet vel ikke
overholdt i det øjeblik, den ene update er foretaget, vel ?

Update <tablename> <fieldname>='aadsf' ...osv ! er hvad jeg bare bruger nu 2
gange !

Hvordan gør jeg det rigtigt ?

Håber nogen kan hjælpe mig, for det går mig lidt på.

På forhånd tak

HL



 
 
Lauritz Jensen (29-12-2000)
Kommentar
Fra : Lauritz Jensen


Dato : 29-12-00 21:46

"Hans L." wrote:
>
> [...] Jeg bruger bare 2 updates lige efter hinanden hver der
> har været relationer, og dermed er den referentielle integritet vel ikke
> overholdt i det øjeblik, den ene update er foretaget, vel ?

Det er vel kun et problem hvis du opdaterer i primærnøglen og så er
problemet vel nærmere, at du ikke benytter en "dum" nøgle.
Men der skal en "update" til hver tabel.

(Du skal nok ikke crossposte i *så* mange grupper! Husk iøvrigt at sætte
en fut hvis du skal crossposte)

--
Lauritz

Hans L. (30-12-2000)
Kommentar
Fra : Hans L.


Dato : 30-12-00 15:29

> Det er vel kun et problem hvis du opdaterer i primærnøglen og så er
> problemet vel nærmere, at du ikke benytter en "dum" nøgle.
> Men der skal en "update" til hver tabel.

Det er et generelt problem jeg har hvis der f.eks er et 1 til mange forhold
i mellem 2 tabeller ! ..I det jeg oprette noget i den ene tabel, vil der
dermed ikke være noget i den anden tabel " i et øjeblik" og det er jo noget
gris .ik' ?

der er noget med at man kan bruge 2 updates, men commit'e dem samtidig
...eller noget ! det er det jeg har brug for :[




> Husk iøvrigt at sætte en fut hvis du skal crossposte)
Det kan godt være at jeg spørger dumt. ..men hvad er en fut ?




"Lauritz Jensen" <lauritz2@hotmail.com> wrote in message
news:3A4CF801.38D538AC@hotmail.com...
> "Hans L." wrote:
> >
> > [...] Jeg bruger bare 2 updates lige efter hinanden hver der
> > har været relationer, og dermed er den referentielle integritet vel ikke
> > overholdt i det øjeblik, den ene update er foretaget, vel ?
>
> Det er vel kun et problem hvis du opdaterer i primærnøglen og så er
> problemet vel nærmere, at du ikke benytter en "dum" nøgle.
> Men der skal en "update" til hver tabel.
>
> (Du skal nok ikke crossposte i *så* mange grupper! Husk iøvrigt at sætte
> en fut hvis du skal crossposte)
>
> --
> Lauritz



Peter Laursen (30-12-2000)
Kommentar
Fra : Peter Laursen


Dato : 30-12-00 15:57


Hans L. skrev i meddelelsen <92krcl$2hno$1@news.cybercity.dk>...
>Det er et generelt problem jeg har hvis der f.eks er et 1 til mange forhold
>i mellem 2 tabeller ! ..I det jeg oprette noget i den ene tabel, vil der
>dermed ikke være noget i den anden tabel " i et øjeblik" og det er jo noget
>gris .ik' ?


Min erfaring er mest med Oracle, jeg kender ikke så meget til Access/ADO, men som du skriver er det jo et generelt problem hvis løsning hedder transaktionsstyring.
Før du begynder din opdatering skal du starte en transaktion, derefter lave alle dine updates. Hvis der sker en fejl før alle updates er færdige kan du rulle alle updates tilbage. I pseudokode:

<Start transaktion> (databaseafhængig)
Opdater masterrecord
Opdater childrecords
Hvis alt gik godt så
<commit transaktion>
Ellers
<rollback transaction>

Peter Laursen


Nikolaj Kolbe (30-12-2000)
Kommentar
Fra : Nikolaj Kolbe


Dato : 30-12-00 15:59

> > Husk iøvrigt at sætte en fut hvis du skal crossposte)
> Det kan godt være at jeg spørger dumt. ..men hvad er en fut ?

Kig på http://www.usenet.dk/info/dk-oss.html#Followup-To og få svaret

Nikolaj


Lauritz Jensen (30-12-2000)
Kommentar
Fra : Lauritz Jensen


Dato : 30-12-00 16:19

"Hans L." wrote:
>
> > Det er vel kun et problem hvis du opdaterer i primærnøglen og så er
> > problemet vel nærmere, at du ikke benytter en "dum" nøgle.
> > Men der skal en "update" til hver tabel.
>
> Det er et generelt problem jeg har hvis der f.eks er et 1 til mange forhold
> i mellem 2 tabeller ! ..I det jeg oprette noget i den ene tabel, vil der
> dermed ikke være noget i den anden tabel " i et øjeblik" og det er jo noget
> gris .ik' ?
>
> der er noget med at man kan bruge 2 updates, men commit'e dem samtidig
> ..eller noget ! det er det jeg har brug for :[

Du snakker skiftevis om at oprette og opdaterer. Hvad er det du gerne
vil?
Men det er ikke noget problem hvis du har en en-til-mange at lave en
indsæt. Har du f.eks. en tabel med varer og en med forhandlerer, hvor en
forhandler kan forhandle flere varer, kan du jo sanktens oprette en ny
forhandler (en forhandler behøver jo ikke at have nogle vare) og
derefter oprette nogle vare, der benytter den nye forhandler. Det er der
ikke noget "gris" i. Hvor er det du ser problemet?

> > Husk iøvrigt at sætte en fut hvis du skal crossposte)
> Det kan godt være at jeg spørger dumt. ..men hvad er en fut ?

"Follow Up To". Du sætter den for, at vi kan få samlet diskutionen i en
gruppe, således at vi ikke får for mange redundante indlæg i forskellige
grupper.

--
Lauritz

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste