Das Erstellen von Stored Procedures (zu Deutsch: Gespeicherten Prozeduren) ist keine Hexerei, wenn man einige „Grammatikregeln“ kennt. Hier ein kurzer Überblick:
Inhaltsverzeichnis
Grundsätzlicher Aufbau einer einfachen Prozedur
/*
Kommentare werden in diesen Klammern eingeschlossen
*/
CREATE PROCEDURE [PROCEDURE NAME]
/*
Variablen werden hier definiert
*/
AS
/*
Hier kommt das SQL-Statement hinein
*/
Somit ergibt sich als „einfachste“ Prozedur:
CREATE PROCEDURE UserListe
AS
SELECT * FROM TblUsers
Variablen
Variablen werden zwischen „CREATE PROCEDURE“ und „AS“ definiert. Sie müssen immer mit einem „@“ beginnen.
Dies sieht dann z. B. so aus:
CREATE PROCEDURE UserNachUserID
@UserID INT;
AS
SELECT * FROM TblUsers WHERE UserID=@UserID
Datensätze einfügen
Dies funktioniert mit dem SQL-Befehl „INSERT INTO“:
CREATE PROCEDURE UserHinzu
@login VARCHAR(20),
@pswd VARCHAR(20),
@f_name VARCHAR(25),
@l_name VARCHAR(35),
@address_1 VARCHAR(30),
@address_2 VARCHAR(30),
@city VARCHAR(30),
@state CHAR(2),
@zipcode CHAR(10),
@email VARCHAR(50)
AS
INSERT INTO USERLIST (login, pswd, f_name, l_name, address_1, address_2, city, state, zipcode, email)
VALUES (@login, @pswd, @f_name, @l_name, @address_1, @address_2, @city, @state, @zipcode, @email)
Datensatz aktualisieren
Mit dem SQL-Befehl „UPDATE“ kann man Datensätze aktualisieren. Will man nur einen speziellen ändern, sollte man noch den Schlüsselwert (in unserem Fall: usr_id) als Variable übergeben.
CREATE PROCEDURE UserUpdate
@usr_id INT,
@login VARCHAR(20),
@pswd VARCHAR(20),
@f_name VARCHAR(25),
@l_name VARCHAR(35),
@address_1 VARCHAR(30),
@address_2 VARCHAR(30),
@city VARCHAR(30),
@state CHAR(2),
@zipcode CHAR(10),
@email VARCHAR(50)
AS
UPDATE USERLIST
SET
login=@login,
pswd=@pswd,
f_name=@f_name,
l_name=@l_name,
address_1=@address_1,
address_2=@address_2,
city=@city,
state=@state,
zipcode=@zipcode,
email=@email
WHERE usr_id=@usr_id
Löschen von Datensätzen
Dies funktioniert mit dem SQL-Befehl „DELETE FROM“, der so anzuwenden ist:
DELETE FROM TblUser WHERE IDUser=@IDUser