16. oktober 2001 - 11:21Der 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?
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.
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?
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.
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!
Kan du ikke bruge replikering til at gennemføre synkroniseringen?
Synes godt om
Ny brugerNybegynder
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.