Avatar billede kenzo Nybegynder
16. oktober 2001 - 11:21 Der er 5 kommentarer og
1 løsning

Inserted og deleted tabeller

Hej
Jeg har brug for at lave et join på inserted og deleted tabellerne i en Trigger på MSSQL7.
Jeg har ikke et entydig felt som jeg kan bruge i mit join. Hvad kan jeg gøre?
Avatar billede terry Ekspert
16. oktober 2001 - 11:26 #1
When you insert a record the insert table contains data and the deleted is empty.
When you delete the delete contains data and the inserted is empty. When you change the inserted and deleted both contain data. You will therefor only be able to join these two tables on a change and when the primary key changes, but it doesnt thats logical. So if you need to join you will haveto use the original.
Avatar billede torbenkoch Nybegynder
16. oktober 2001 - 19:28 #2
Det vil være meget nemmere at hjælpe dig, hvis du fortæller os, hvordan dine tabeller ser ud!
Avatar billede kenzo Nybegynder
16. oktober 2001 - 22:26 #3
Jeg har to systemer der begge har en tabel der indeholder kreditore/leverandøre. Disse tabeller skal synkroniseres(de to systemer kan ikke bruge samme tabel). Kreditornr. (primærnøgle) kan ændres i begge systemer.
Design af UPDATE TRIGGER vil være i stil med dette:
DECLARE INS_CURSOR CURSOR LOCAL FOR
SELECT INS.[Kreditornr.], DEL.[Kreditornr.], INS.[Navn]
FROM INSERTED AS INS JOIN DELETED AS DEL ON (INS.???? = DEL.?????)
[Opdater det andet system på baggrund af DEL.Kreditornr. med det nye Kreditornr. og Navn]
Kreditornr. kan ikke bruges til at joine de to tabeller da dette kan ændres....
Findes der et \"system\" felt jeg evt. kan bruge? Eller er jeg nød til at oprette et nyt nøgle felt der ikke kan ændres?
Avatar billede renepedersen Nybegynder
25. oktober 2001 - 15:12 #4
Jeg er ikke med på hvorfor du vil joine inserted fra en tabel med deleted fra en anden tabel for at synkronisere dem. Umiddelbart ville jeg tro at en entry i inserted i en tabel skulle aktivere en tilsvarende insert i den anden tabel osv.

mht nøgle antager jeg du ikke kan bruge navn, og i det tilfælde skal du nok lave et nøglefelt som er ens i begge tabeller.
Avatar billede nolle_k Nybegynder
31. oktober 2001 - 22:40 #5
Det med at Joine Deleted fra en tabel og Inserted fra en anden er rent praktisk slet ikke muligt med mindre du gemmer en af tabellerne i en temporær tabel du selv er herre over!
Avatar billede bennytordrup Nybegynder
04. november 2001 - 11:20 #6
Kan du ikke bruge replikering til at gennemføre synkroniseringen?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester