Anlegen von Prozeduren

Werbung
Erstellen einer Prozedur für die Berechnung von Feldern in
einem Sportförderprojekt
1. Prozedur in der Datenbank verminet definieren
Im SQL Server Management Studio (SSMS) die Tabellen der Datenbank verminet öffnen.
Auf der Tabelle vsystem.procedures eine Rechtsklick ausführen, und Oberste 200 Zeilen
bearbeiten wählen.
Im rechten Fenster in die Zeile mit dem Sternchen in die Spalte procedure_id klicken und eine
Eins, für die erste Berechnungsprozedur, bzw.
die nächste freie Nummer, für eine weitere Berechnungsprozedur,
als ID eintragen.
Mit der TAB-Taste in die Spalte procedure_name wechseln.
Hier den Prozedurnamen nach Datenbankkonventionen eintragen.
Gemeint ist der Speicherort der Prozedur in der Datenbank. Er setzt sich zusammen aus
Datenbankname, dem Besitzer (dbo) und dem eigentlich zu vergebenen Namen.
z. B.
vermidat.dbo.procedure_name
Mit der TAB-Taste in die Spalte display_name wechseln.
Hier den anzuzeigenden Namen eintragen. Dieser wird später in den Projektdefinitionen aus einer
Dropdownliste mit vorhandenen Berechnungsprozeduren für jedes Projekt ausgewählt.
z. B.
Berechnungen für Wettkampfkosten
Die Eintragungen abschließend durch klicken in eine andere Zeile speichern/übernehmen.
(Die roten Ausrufezeichen in den Zellen der neuen Zeile verschwinden.)
2. Prozedur in der Anwendung einem Sportförderprojekt zuordnen
Bei der Anwendung VermiNet mit der Berechtigung für Eintragungen in der Administration der
Sportförderung anmelden.
Administration – Sportförderung – Projektdefinition – Projektdefinition öffnen.
Im Bereich Berechnungsformel den Dropdownpfeil klicken und die Bezeichnung der
Berechnungsprozedur auswählen.
Hier darauf achten, dass die Felder aus der Berechnung auch im Projekt genutzt werden!
3. Datenbank vermidat anlegen und Benutzer hinzufügen
(einmalig beim Anlegen der ersten Prozedur erforderlich)
Im SSMS die Datenbank vermidat anlegen. Dazu Rechtsklick auf Datenbanken und „neue
Datenbank …“ wählen. Als Datenbankname vermidat eintragen und mit OK bestätigen.
Die Datenbank vermidat erweitern - Sicherheit erweitern – Rechtsklick auf Benutzer – „Neuer
Benutzer …“.
Rechts neben Anmeldebutton auf Suchen klicken – Durchsuchen klicken – VerminetAppPool
markieren und mit zweimal OK bestätigen. Anmeldename in Feld Benutzername kopieren.
Mitgliedschaft in Datenbankrolle = db_owner markieren und mit OK bestätigen.
4. Prozedur in Datenbank vermidat anlegen
Im SSMS vermidat erweitern –Programmierbarkeit erweitern - Rechtsklick auf Gespeicherte
Prozeduren – „Neue gespeicherte Prozedur …“ Es öffnet sich ein Abfragefenster mit
Voreinstellungen zum Erzeugen einer Prozedur. Da der Aufruf in vermidat erfolgt, wird die
Prozedur hier angelegt!
Im Abschnitt CREATE PROCEDURE hinter dem Text CREATE PROCEDURE den Text
„<Procedure_Name, sysname, PrecedureName>“ vollständig ersetzen durch den in Schritt 1 in der
Spalte procedure_name als eigentlichen Prozedurnamen vergebenen Text ersetzen.
Unter der Zeile mit dem Kommentar „- - Add the parameters for the stored procedure here“ anstelle
der beiden Beispielzeilen eintragen: @id int.
z. B. CREATE PROCEDURE [dbo].[procedure_name]
-- Add the parameters for the stored procedure here
@id int
AS
Nun zwischen den Tags BEGIN und END unter dem Kommentar „- -Insert statements für
procedure here“ die Formeln für die Berechnungen eintragen.
Syntax: UPDATE
Datenbank.Tabelle
SET
Datenbank.Tabelle.Feldname = Formel oder Wert
WHERE
foerderung_id = @id
Mehrere Berechnungen in derselben Tabelle werden in der SET-Anweisung durch ein Komma
getrennt (SET
Berechnung1
, Berechung2)!
BEGIN
UPDATE
verminet.foerderung.foerderung
SET
verminet.foerderung.foerderung.summe_zwischen_bescheid =
verminet.foerderung.foerderung.summe_bescheid_1
, verminet.foerderung.foerderung.freie_zahl_17 = 111 * 5
WHERE
foerderung_id = @id
END
Das Abfragefenster zur Erstellung der jeweiligen gespeicherten Prozedur für spätere Änderungen
in den Berechnungen wegspeichern!
Alternativ kann die vorhandene Prozedur zum Bearbeiten in einem Abfragefenster geöffnet werden
(dann steht dort statt CREATE – ALTER).
Vor dem Ausführen der Abfrage zur Erzeugung der Prozedur mit CREATE, muss die vorhandene
Prozedur gelöscht werden!
5. Berechnungsprozedur testen
In VermiNet als Bearbeiter eines Sportförderprojektes anmelden.
Einen vorhandenen Datensatz zur Bearbeitung öffnen oder eine neuen Datensatz anlegen und
ausfüllen. Mit dem Klick auf Speichern wird die Berechnung für diesen Datensatz durchgeführt.
Dann den Datensatz neu öffnen und Berechnung überprüfen.
Merke: Es wird so jeder Datensatz einzeln durch Klicken auf Speichern berechnet!
Verwendung von Berechnungsprozeduren für
Stapelbearbeitung in einem Sportförderprojekt
Dem Sportförderprojekt wird diese Prozedur NICHT fest zugewiesen, sondern NUR
DANN temporär, wenn die Berechnung ausgeführt werden soll!
Vorgehen:
Die Prozedur für die Berechnung wird im Prinzip angelegt, wie für eine einzelne Berechnung
erstellt. Dier Unterschied besteht in der WHERE-Anweisung.
Diese legt die Gültigkeit für die Berechnung fest.
Bei der Stapelbearbeitung muss diese Anweisung alle Anträge eines Projekts für ein Jahr
umfassen. Dafür verwenden wir die Eintragungen in den Feldern konfiguration_id und jahr.
WHERE-Anweisung in Prozedur für Stapelbearbeitung
BEGIN
UPDATE
verminet.foerderung.foerderung
SET
verminet.foerderung.foerderung.summe_zwischen_bescheid =
verminet.foerderung.foerderung.summe_bescheid_1
, verminet.foerderung.foerderung.freie_zahl_17 = 111 * 5
WHERE
konfiguration_id = 6
AND
jahr = 2013
END
Die Nummer hinter konfiguration_id = ist die ID des Sportförderprojekts aus der Tabelle
verminet.foerderung.konfiguration. Dort nachschauen und hier eintragen.
Das Jahr bestimmt, für welches Jahr dieses Sportförderprojekt berechnet werden soll. Würde hier
kein Jahr eingetragen, würden ALLE Datensätze für dieses Projekt berechnet.
(Im Script werden die Zahlen in Hochkomma gesetzt, dann erfolgt die Anzeige im SSMS in Rot.)
Die Berechnung per Stapelbearbeitung:
• Die Berechnungsprozedur dem Projekt zuweisen und die Projektdefinition speichern.
• In der Sportförderung EINEN Datensatz dieses Projekts öffnen und SPEICHERN.
• Die Berechnungsprozedur dem Projekt wieder wegnehmen (leere erste Zeile wählen) und
Projektdefinition speichern.
Muss die Berechnung wiederholt werden, den Vorgang erneut ausführen.
Herunterladen