webForumDet fria alternativet

Vyer

3 svar · 567 visningar · startad av erka

erkaMedlem sedan dec. 19996 522 inlägg
#1

Kan någon förklara hur vyer fungerar i mssql2000 och vad man bäst använder dem till. Kan man tex göra ett antal vyer och spara dem, sen skickar man tex med extra parametrar till dem och ändrar om det man får som svar ifrån den ursprungliga vyen ?

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

LarsGMedlem sedan dec. 200012 464 inlägg
#2

En vy har två användningsområden, det ena är att förenkla frågor och det andra är att kunna styra vilket data olika personer får se.

T.ex. om du skapar en vy

create view v as 
  select * from t
   where c1 = 2

så kan du använda den som en vanlig tabell i olika frågor och ställa villkor på de kolumner som ingår i vyn.

select * from v join x on v.c2 = x.c2

vilket man också kan skriva som

select * from (select * from t
   where c1 = 2) as v join x on v.c2 = x.c2

så man uppnår inget funktionellt utan det är mest för att underlätta läsbarheten. Det är lite begränsningar hur man kan använda vyer, t.ex om du skapar en vy

create view v(c1) as select 17*c1 from t

så går det inte att uppdatera eller göra insert direkt via den vyn. (Det går med hjälp av instead of triggers.)

Det andra användningsområdet är alltså att begränsa acces för olika användare. Om man skapar en vy så kan man göra

grant select on v to erka

vilket innebär att erka enbart får se de poster som returneras av vyn.

Om du vill skicka parametrar så är det kanske en user-defined function du borde titta på
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_create_7r1l.asp

------------------
essentitia preter non sans multiplicandum

erkaMedlem sedan dec. 19996 522 inlägg
#3

LarsG, tack utömmande svar !

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

petla81406Medlem sedan maj 2004325 inlägg
#4

ökar det prestandan på frågor, om jag gör en färdig view på dom sqlfrågor som används ofta och är krävande?

125 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)