Hallo!
> Ich m��te mich innerhalb von ein paar Stunden etwas in Stored
Procedures
> einarbeiten, habe aber derzeit absolut keine Ahnung davon. Ich wei�
nur,
> da� das etwas ist, wof�r man den SQL-Server braucht. Hat irgendjemand
> von Euch irgendwie dokumentierte Beispiele oder �hnliches, womit ich
> mich besch�ftigen kann? Der Zusammenhang, in dem ich es brauche ist
ein
> ASP-Projekt. Ich m��te morgen fr�h eine gewisse Grundahnung von der
> Materie haben. SQL-Server 2000 hab ich am laufen.
Fang mit Access an:
Eine VIEW besteht aus einer SELECT-Abfrage ohne Parameter. Eine
PROCEDURE besteht aus einem einzelnen SELECT-, INSERT-, UPDATE-,
DELETE-Statement und hat in der Regel auch Parameter.
VIEWs und PROCEDUREs kannst Du unter ASP am besten wie folgt aufrufen:
dim ra, cm: set cm = Server.CreateObject("ADODB.Command")
cm.ActiveConnection = "...Connection-String..."
cm.CommandText = "...Name der View/Proc..."
cm.CommandType = adCommandUnknown ' may be you'll know it ?!
call cm.Execute(ra, array(...P1..., ...P2..., ...), adExecuteNoRecords)
... oder Du willst ein Recordset zur�ckhaben ...
dim rs: set rs = Server.CreateObject("ADODB.Recordset")
set rs = cm.Execute(ra, array(...P1..., ...P2..., ...))
In beiden F�llen werden die Parameter einfach in einem Array �bergeben.
Die Reihenfolge entspricht dabei der im SQL-Statement.
Jetzt zu SQL-Server:
Hier kommst Du um die wirklich sehr gute Online-Dokumentation nicht
herum.
Eine Stored Procedure in SQL Server kann im Gegensatz zu denen in Access
aus mehreren Statements bestehen. Zus�tzlich kannst Du Variablen
deklarieren und verwenden und Statements f�r die "Programmsteuerung" (IF
... THEN ... ELSE ..., WHILE ..., ...) einsetzen. Und es stehen Dir
zahlreiche vordefinierte Stored Procedures (z. B. E-Mails verschicken,
Protokolldatens�tze schreiben) zur Verf�gung.
Wenn die Beispiele in der Online-Dokumentation nicht ausreichen, findest
Du ganze Script-Sammlungen im Internet (Stichwort: Transact-SQL, T-SQL,
Stored Procedure, SP, ...). Die SPs kannst Du ganz einfach im Enterprise
Manager erstellen und im Query-Analizer erstellen und testen.
Tipps:
Nenne Deine SPs nie "sp_....", da das f�r die internen Scripts
reserviert ist und Dein Script dann immer zun�chst in der Master-DB
gesucht wird.
Wenn Du ein Recordset nicht mit Firehose-Cursor zur�ckgeben m�chtest,
musst Du den Cursor in der SP selber definieren.
Seit SQL Server 2000 hat man auch Benutzerdefinierte Funktionen. Die
sind etwas einfacher zu handhaben und viele F�lle, die fr�her mit SPs
realisiert wurden, k�nnen heute einfacher mit FUNCTIONs gel�st werden,
z.B. Berechnungen f�r virtuelle Spalten, komplexe Sub-Selects. Wenn ich
eine "alte" SQL-Server-Anwendung betrachte, f�llt mir immer auf, dass
man ca. 50% der Stored Procedures durch SUB-Selects, JOINs, TRIGGER oder
FUNCTIONs ersetzen kann.
Freundliche Gr��e
Joachim van de Bruck
| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp