Hej Vad du skulle behöva ha är Hej NiklasInsert mot vyer
Jag undrar om det är möjligt att skapa en vy som går mot en tabell som har ett nyckelvärde mer än vyn och ändå göra en insert via den vyn.
Ex: om jag har tabellen 'test' med kolumnerna A, B och C och sammansatta nyckeln A och B så vill jag skapa en vy som bara hämtar kolumnerna B och C.
Nyckelfältet A som vyn ska kopplas mot ska alltid vara ett fast värde i vyn - tex '03'
så vyn ser ut som följer:
select B , C
from test
where A ='03'
Så långt fungerar det bra.
Problemet är när jag sen vill göra en insert.
Insert ska alltid göras med värdet '03' i fält A.
Det är ganska naturligt att det inte går att göra en insert då "vyn inte vet" vilket värde som ska in i kolumn A men då det på förhand är givet vilket värde som ska in ('03') så tänkte jag att det kanske ändå går att lösa på något sätt. (Trigger eller vad som helst)
Finns det någon enkel och smidig lösning?
Svara gärna även om ni anser att det är omöjligt så jag vet att det inte går - det är också bra att veta.
(Anledningen till att jag bara vill hämta från de två kolumnerna är att vyn ska motsvara den tabell som den är tänkt att ersätta och jag vill inte tvinga fram förändringar i de klienter som jobbar mot tabellen i onödan. Dessutom vill jag senare kunna göra likadant från andra vyer som då t.ex. bara ska "jobba mot '04'")
Mvh
AlexSv: Insert mot vyer
select A, B, C
from test
where A ='03'
och alltid använda
INSERT INTO ... VALUES('03', ...)
Tyvärr funkar inte standard-triggers heller eftersom de kräver att inserten faktiskt funkar.
Om din databasmotor stöder det kan du köra med "instead of"-trigger istället, då får du exakt det du vill ha.Sv:Insert mot vyer
- "instead of" triggers är precis som du säger "exakt det jag vill ha".
Nu återstår det bara att se om det är tillräckligt snabbt eller om det ändå måste byggas om.
Många tack
Alex