Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Stored Procedures einfach erstellt

Geschrieben von: Christoph Wille
Kategorie: Datenbank

Stored Procedures bieten sich als Schnittstelle zwischen Applikation und SQL Server Datenbank geradezu an, da man der Applikation nur Rechte auf die Stored Procedures geben muß, und einen Direktzugriff auf Tabellen somit verhindern kann. Außerdem ist es möglich, erweiterte Überprüfungslogik in die Stored Procedure einzubauen - bevor ein INSERT, UPDATE oder DELETE ausgeführt wird. Warum werden SP's dann so selten eingesetzt? Weil viele Leute glauben, daß es mit viel Arbeit verbunden ist. Stimmt aber nicht.

Dieser Irrglaube kommt daher, daß eine Stored Procedure (SP), auf den ersten Blick kompliziert zu programmieren scheint:

CREATE PROCEDURE insert_Categories
	(@CategoryID  [int],
	 @CategoryName  [nvarchar](15),
	 @Description  [ntext],
	 @Picture  [image])

AS INSERT INTO Categories 
	 ( [CategoryID],
	 [CategoryName],
	 [Description],
	 [Picture]) 
 
VALUES 
	(@CategoryID,
	 @CategoryName,
	 @Description,
	 @Picture)
GO

Das ist eine einfache SP für das Einfügen von einem Datensatz in die Categories Tabelle in der Northwind Datenbank. Wenn man das jetzt für alle Tabellen machen muß, und dann noch dazu für UPDATE und DELETE auch noch, dann sieht das nach viel Arbeit aus - auf den ersten Blick.

Der Trick zur Arbeitsumgehung liegt im SQL Server Enterprise Manager:

Und zwar sehr versteckt unter dem Punkt Tools/Wizards:

Hier verstecken sich viele Wizards, die nicht über Kontextmenü oder andere Befehlssequenzen erreichbar sind, aber dennoch die tägliche Arbeit sehr erleichtern können, wie auch der Create Stored Procedure Wizard:

Damit kann man sich Stored Procedures erstellen lassen. Sehen wir uns das Schritt für Schritt an, wobei der erste Screen des Wizards ein Willkommensscreen ist und somit unwichtig. Auf dem zweiten Screen geht es um die Datenbankauswahl:

Aus dieser holt der Wizard dann eine Liste von Tabellen und Views, auf die man INSERT, UPDATE und DELETE Stored Procedures anlegen kann.

Ich habe die Categories Tabelle gewählt, und alle drei SP-Typen angewählt. Damit zeigt mir der Wizard dann folgenden Screen:

Theoretisch wäre man nun fertig, jedoch gefallen mir die Namen der SP's noch nicht, deshalb wähle ich den Edit Button:

Hier kann man nun den Namen der SP ändern, und auch Spalten abwählen, die man nicht einfügen will (zB Autowert Spalten und dergleichen). Will man noch mehr Kontrolle, kann man auch im Wizard gleich in das SQL eingreifen:

Jedoch würde ich das Editieren eher nach der Generierung empfehlen, über die Eigenschaften der erzeugten SP:

Weil hier kann man auch gleich mitdefinieren, welche User welche Rechte auf der Stored Procedure haben sollen:

Für SELECT Abfragen muß man die Stored Procedure übrigens noch von Hand erstellen, aber da meist parameterlos, sollte die SELECT SP keine großen Probleme aufwerfen - die arbeitsintensiven SP's werden durch den Wizard automatisch generiert.

Schlußbemerkung

Diese Tour durch den Create Stored Procedure Wizard hat neben der durch den Wizard gebotenen Funktionalität einen weiteren Aspekt: viele interessante Features schlummern meist im verborgenen, dort, wo man selten oder nie solche nützlichen Hilfsmittel erwarten würde.

Verwandte Artikel

Aktualisieren von Daten mit dem UPDATE Statement
Auto-Generierung von performantem Abfragecode
Code Generator für die AddNew Methode
Das SQL Join Statement
Datensätze mit dem DELETE Statement löschen
Der ADO Command Code Generator
Der SQL UNION Operator
Die SQL ORDER BY Clause
Ein einfacher Query Analyzer
Einfügen eines Datensatzes mit dem INSERT Statement
Highspeed-Abfragen einer SQL Server Datenbank
Query Express für MSDE
SQL Injection
SQL Server Objekte scripten
T-SQL Clauses: GROUP BY und HAVING

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.