/ 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
Opdat. via Visning i SQL2000?
Fra : Ras


Dato : 22-11-02 15:13

Jeg har et problem med at opdatere 2 (ell. flere) tbl. ad gangen..?

Jeg henter data i dataarkvising igennem en View/Visning og ønsker at kunne
copy/paste flere linjer - altså tilføje - men det vil den ikke når data
hentes fra mere end en tbl.
Ved 1 tbl. går det fint.

På tbl.-niveau er der forøvrigt ingen probs. (hverken via Acc2000 ell. EM)

Det er Access2000 FE og SQL2000 BE

mvh.

Ras.



 
 
Jens Gyldenkærne Cla~ (22-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 22-11-02 20:44

Ras skrev:

> Jeg har et problem med at opdatere 2 (ell. flere) tbl. ad
> gangen..?

Det er ikke så mærkeligt. Det kan ikke lade sig gøre medmindre du
fortæller databasen specifikt hvad den skal gøre ved hjælp af
triggers.

En UPDATE-sætning - som er det der ligger bag enhver opdatering,
også når du redigerer via et view - kan kun opdatere én tabel.

Fra og med MSSQL 2000 kan man definere INSTEAD OF-triggere, der
netop kan bruges til at definere update på et view over flere
tabeller. Der er en sides penge om det i BOL, men ellers kan en god
bog om sqlserver anbefales.
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.

Ras (23-11-2002)
Kommentar
Fra : Ras


Dato : 23-11-02 12:34

> Det er ikke så mærkeligt. Det kan ikke lade sig gøre

TAAAK..!!!

Så fik jeg det bekræftet...jeg var ved at rive håret af mig selv og må se i
øjnene at det nok kræver lidt re-design et par steder..!

Fortsat god weekend..!

mvh.

Ras.



Peter Lykkegaard (23-11-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 23-11-02 15:14

Som svar på skriblerier forfattet af Jens Gyldenkærne Clausen

> Ras skrev:
>
>> Jeg har et problem med at opdatere 2 (ell. flere) tbl. ad
>> gangen..?
>
> Det er ikke så mærkeligt. Det kan ikke lade sig gøre medmindre du
> fortæller databasen specifikt hvad den skal gøre ved hjælp af
> triggers.
>
??

> En UPDATE-sætning - som er det der ligger bag enhver opdatering,
> også når du redigerer via et view - kan kun opdatere én tabel.
>
Det funker da fortrinligt når jeg gør det på en MSSQL 2K eller 7?
Dvs via fx et DataGrid eller hvis jeg bruger opdaterer via et recordset
object
Men en update <table> statement så er det kun den ene tabel i et view der
kan opdateres

Jeg primary keys fra "hovedtabellen" + ekstra primary key fra "item"
tabellen samt udvalgte felter
Jeg kan selvfølgelig ikke opdatere primary/foreign keys, men resten spiller
ganske fint

NB! Vi snakker om ændring af eksisterende data _ikke_ om indsættelse af ny
data

mvh/Peter Lykkegaard



Ras (25-11-2002)
Kommentar
Fra : Ras


Dato : 25-11-02 09:39

> Jeg primary keys fra "hovedtabellen" + ekstra primary key fra "item"
> tabellen samt udvalgte felter
> Jeg kan selvfølgelig ikke opdatere primary/foreign keys, men resten
spiller
> ganske fint
>
> NB! Vi snakker om ændring af eksisterende data _ikke_ om indsættelse af ny
> data

NejNej, der ER Insert det drejer sig om - har ingen probs heller med Update
af eksisterende poster.
Det er copy/paste der ikke dutter når det foregår over 3 tbl. (bare mere end
en)........

Hvordan løses det......bare lige et par hint og et skrabet eks. er
fint...*sss*...

mvh.

Ras.




Ras (25-11-2002)
Kommentar
Fra : Ras


Dato : 25-11-02 13:49

Kan nogen hjælpe med denne som burde være lavet efter bogen (BOL):

K32072.TBL_Trigger_Kilde = kildetbl.
K32072.TBL_Trigger_Test = destinationstbl.

View-koden:
CREATE VIEW K32072.triggerView3
AS
SELECT ID_Felt, ID_TBL2, Fabrikat
FROM K32072.TBL_Trigger_Kilde

GO


Trigger-koden:
ALTER trigger newtrigger3 on triggerView3
instead of INSERT
AS
Begin
insert into K32072.TBL_Trigger_Test
select ID_TBL2, Fabrikat
from inserted (har også prøvet med "triggerView3")
end

Den fejler ikke men skriver heller ingenting i tbl. K32072.TBL_Trigger_Test
Burde den ikke det..??...felt-defs. er nøjagtig ens. (hvis det har noget at
sige her)

Det er ment som de indledende øvelser til at kunne INSERTE i flere tbl. ad
gangen.

mvh.

Ras.



Ras (26-11-2002)
Kommentar
Fra : Ras


Dato : 26-11-02 09:15

Lige et spøs. (mere):

Da det nu drejer sig om 3 tbl jeg skal have skrevet i samtidig kunne
løsningen så ligge tæt op ad denne model:

3 x tbl
3 x View der trækker relevante data ud af tbl.
1 x View der er baseret på de 3 views

3 x trigger der er knyttet til hver af de 3 første views og som kører som en
"Instead of Insert"

Ville det give mig en reel chance for at få det til at virke..??...altså det
at have et view der trækker på 3 tbl., men samtidig også skal kunne Inserte
i de 3 bagvedliggende tbl. (skal faktisk kunne copy/paste)

Håber jeg har gjort mig tilpas forståelig ellers vil jeg gerne pinde det ud
i en mail.

mvh.

Ras.



Ras (26-11-2002)
Kommentar
Fra : Ras


Dato : 26-11-02 12:03

Jeg tror jeg har fundet nogle gode ideer på:

www.eksperten.dk

men hold jer endelig ikke tilbage hvis der er tilføjelser til denne tråd.

mvh.

Ras.



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

Månedens bedste
Årets bedste
Sidste års bedste