CREATE VIEW dbo.View1 AS SELECT dbo.Table1.Nummer, dbo.Table1.Tæller, dbo.Table2.Beskrivelse FROM dbo.dbo.Table1 LEFT JOIN dbo.Table2 ON dbo.Table1.Nummer = dbo.Table2.Nummer
CREATE VIEW dbo.View1 AS SELECT dbo.Table1.Nummer, dbo.Table1.Tæller, dbo.Table2.Beskrivelse FROM dbo.Table1 LEFT JOIN dbo.Table2 ON dbo.Table1.Nummer = dbo.Table2.Nummer
Jo, men brugerens præsentation af data er kun baseret på VIEW1 og det skulle gerne være sådan at ændringer i det grid brugeren ser, afspejles direkte i DB.
det kan godt være det er mig der ikke er helt med men i dit view selecter du table2.beskrivelse, så hvis du med din update ændrer table2.beskrivelse vil brugeren da også se den ændring.
Det har du helt ret i cesil. Problemet er at jeg forlader mig på at det grid brugeren ser data i, selv står for opdatering af de enkelte rækker. Problemet kan ses ved at åbne viewet i EM og prøve at skrive noget i beskrivelse for nummer 34. Derved fås en fejl der siger at rækken ikke kan opdateres da den ikke længere eksisterer. Rækken har selvfølgelig aldrig eksisteret da der ikke er nogen post i Table2 for nummer 34. Det samme vil være problemet hvis brugeren ser dette view i f.eks. et DBGrid i en Delphi/VB/?? applikation.
Ups - det er hvist ikke så lige til med updatable views, det er ikke noget ret mange andre databaser understøtter end Microsoft. Men generelt kan jeg sige at min erfaring er at det plejer at gå hvis man anvender inner joins (dvs. det går ikke at der ikke er en række i tabel 2 for hver række i tabel 1), og der ud over kun laver ændringer i en af tabellerne afgangen (hvis du skal lave ændringer i begge tabeller, så gør det med to updates).
You dont update via the view! The reason why ther is no Beskrivelse for 34 is because there is NO record in table2. HOW did you get the values 12 Nummer12 45 Nummer45 into table2? You do it for 34 in the same way and they will be visible in the view
Jeg gi´r mig. Men terry, jeg har brug for 2 tabeller. Der er jo ingen grund til at gemme beskrivelsen for hver eneste post i table1, der kunne jo være flere poster med samme nummer.
sblar>Your right, if this is a one to many relationship then you will need two tables. An example would be a table containing contact persons. One of the fields would be for example postcode. THis would be related to the postcode table which has the postcode as the primary key and the Town name in a text field. But it is obvious that before you can create a contact with a specific postcode then the postcode record must exist, unless of course you update the contact record AFTER you create the postcode!
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.