Parasti lietotāja definētās funkcijas (UDF = User Defined Function), kas atgriež datus tabulas veidā ir samērā sarežģīti izmantot, jo ir jādefinē, kāda izskatīsies tabula, ko funkcija atgriezīs. Iekļautās UDF ir daudz vienkāršāk realizēt un tās ir ērti izmantot lai veidotu kaut ko līdzīgu "dinamiski parametrizējamiem skatiem" (reāli tādi skati vismaz pagaidām nav. vairāk par skatiem- Skati SQL Server).
Iekļautās UDF piemērs (pilns skripts ar piemēra tabulas izveidi, datiem un satīrīšanas skriptu, raksta beigās):
Create Function fn_getDataFromTempAtšķirībā no "parastas" UDF, kas atgriež tabulu, šī izskatās daudz vienkāršāka. Par iekļautām funkcijām vairāk var lasīt msdn. Lai gan patiesībā neko daudz vairāk tur izlasīt nevarēs.
(
@Nodala int
)
Returns Table
As
Return
Select TempID, Nodala, Vards, Uzvards
From dbo.Temp
Where Nodala = @Nodala;
Pilns skripts:
Create Table dbo.Temp
(
TempID int primary key identity,
Nodala int,
Vards nvarchar(50),
Uzvards nvarchar(50)
)
Go
Insert Into dbo.Temp(Nodala, Vards, Uzvards) Values (1, 'Janis', 'Kocins');
Insert Into dbo.Temp(Nodala, Vards, Uzvards) Values (2, 'Ilze', 'Liepiņa');
Insert Into dbo.Temp(Nodala, Vards, Uzvards) Values (2, 'Vija', 'Rītiņa');
Go
Create Function fn_getDataFromTemp
(
@Nodala int
)
Returns Table
As
Return
Select TempID, Nodala, Vards, Uzvards
From dbo.Temp
Where Nodala = @Nodala;
Go
Select * From dbo.fn_getDataFromTemp(1)
Select * From dbo.fn_getDataFromTemp(2)
Go
Drop Table dbo.Temp
Drop Function dbo.fn_getDataFromTemp
Nav komentāru:
Ierakstīt komentāru