Stored Procedures Grundlagen

Das Erstellen von Stored Procedures (zu Deutsch: Gespeicherten Prozeduren) ist keine Hexerei, wenn man einige „Grammatikregeln“ kennt. Hier ein kurzer Überblick:

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

Quellen

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne

Loading…
Avatar von manuel

AUTOR

manuel