Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Stored Procedure Stored Procedure er programstumper, der gemmes i databasen og afvikles op databaseserveren på samme måde som forespørgsler. Med Stored.

Lignende præsentationer


Præsentationer af emnet: "Stored Procedure Stored Procedure er programstumper, der gemmes i databasen og afvikles op databaseserveren på samme måde som forespørgsler. Med Stored."— Præsentationens transcript:

1 Stored Procedure Stored Procedure er programstumper, der gemmes i databasen og afvikles op databaseserveren på samme måde som forespørgsler. Med Stored Procedures kan man på den måde flytte basal behandlig op på serveren og opnå en både mere optimal og sikker afvikling. Fra C# programmer kan man aktivere Stored Proceures med Command objektets meroder: ExecuteNonQuery: Hvis der ikke ønskes brugt noget resultat fra den afviklede Stored Procedure. ExecuteScalar: Hvis der ønskes et enkelt resulat fra den afviklede Stored Procedure ExecuteReader: Hvis en Stored Procedure aflevere en forespørgsel som resultat og man ønsker at anvende denne. For at afvilke en Stored Procedure anvendes SQL udtrykket EXEC efterfulgt af parametrene, enten i som værdier i den declarerede rækkefølge med komma imellem eller ved at angive parameterens navn = tildelt værdi. Dette vises i de efterfølgende eksempler

2 Eksempler på Stored Procedure
Primitiv beregnings procedure, der illustrere simple parametre og returværdier Der kan returneres én værdi. CREATE PROCEDURE BroekVaerdi ( @taeller int = 1, @naevner int = 1 ) AS BEGIN int = 0 RETURN 0.0 END ELSE BEGIN

3 Eksempler på Stored Procedure
Proceduren kaldes enten med parametrene i rækkefølge, som de er erklæret i proceduren, eller med navngivning. Resultater kan bruges lokalt i declarede variable. Hvis værdier skal bruges uden for SQL, kan de returneres i en forespørgsel. Denne forespørgsel læses fra C# med DataReader. int; int; = BroekVaerdi 10, 2 SELECT /* resultat i en forespørgsel*/

4 Eksempler på Stored Procedure
CREATE PROCEDURE FindPersonMedEfternavn ( @efternavn varchar(10) = '%' ) AS BEGIN select * from person where efternavn END Eksempler på brug af proceduren EXEC FindPersonMedEfternavn “Larsen%” EXEC FindPersonMedEfternavn

5 Eksempler på Stored Procedure
CREATE PROCEDURE OpretAfdeling /* med muligt autonr*/ ( @afdnr int, @afdnavn varchar(30) ) AS BEGIN insert into afdeling (Afdnr, AfdNavn) Values END Eksempler på brug af proceduren EXEC OpretAfdeling 10, ‘Afd ti’ ti’ EXEC

6 Eksempler på Stored Procedure
CREATE PROCEDURE OpretAfdeling2 /* med muligt autonr*/ ( @afdnr int = -1, @afdnavn varchar(30) ) AS BEGIN BEGIN TRANSACTION < 0 = max(afdnr) from afdeling; +1; END insert into afdeling (Afdnr, AfdNavn) Values select * from afdeling WHERE COMMIT TRASACTION Eksempler på brug af proceduren ti’ EXEC auto’

7 Eksempler på Stored Procedure
CREATE PROCEDURE OpretPeson /* I tabel hvor key er def. som identity autonummerering*/ ( @navn varchar(30) ) AS BEGIN insert into Person (Navn) Values select * from Person WHERE END Eksempler på brug af proceduren EXEC OpretPerson ‘Bjørk’ EXEC

8 Eksempler på Stored Procedure
CREATE PROCEDURE OpretKontoPostering ( @KontoID int, @Beloeb int, @Tekst varchar(30) ) AS BEGIN int BEGIN TRANSACTION INSERT INTO Transakion (kontoID, Beloeb, Tekst) Values UPDATE Konto SET WHERE = Saldo FROM konto WHERE < 0 ROLLBACK TRANSACTION ELSE COMMIT TRANSACTION END Eksempel på brug af proceduren @Tekst=‘kontantudbetaling‘

9 Eksempler på Stored Procedure
CREATE PROCEDURE RetPersonNavn2 ( @PersonNr int, @Fornavn varchar(30), @Efternavn varchar(30), @OldFornavn varchar(30), @OldEfternavn varchar(30) ) AS BEGIN varchar (30) varchar (30) as table /* temporær tabel til rettede poster – før ændring */ Fornavn varchar(30) , Efternavn varchar(30) BEGIN TRANSACTION UPDATE Person SET , OUTPUT deleted.Fornavn, deleted.Efternavn /* her fås gamle poster*/ WHERE = Efternavn COMMIT TRANSACTION RETURN 1 END ELSE print 'Roolback da data var ændret før opdatering' ROLLBACK TRANSACTION RETURN 0 Eksempel på brug af proceduren EXEC RetPersonFornavn 5, 'NyFornavn', ‘NyEfternavn‘, ‘GlFornavn’, ‘GlEfternavn Denne løsning sikre at præcis de felter vi ændrer ikke er rettet af andre undervejs. Dette er en “stærkere” løsning end “bare” at sikre at rækken ikke er ændret.


Download ppt "Stored Procedure Stored Procedure er programstumper, der gemmes i databasen og afvikles op databaseserveren på samme måde som forespørgsler. Med Stored."

Lignende præsentationer


Annoncer fra Google