Hier ein kurzes Beispiel wie ich das meine:
CREATE PROCEDURE spDeleteDataObject /*L�scht das angegebene Objekt aus der Datenbank*/ @ObjToDelete UNIQUEIDENTIFIER, @ObjName VARCHAR(150)
AS DECLARE @SQL VARCHAR(400)
SET @SQL = 'DELETE FROM ' + @ObjName + ' WHERE ' + @ObjName + '_OID LIKE ''' + CONVERT(VARCHAR(255), @ObjToDelete) + ''''
--print @SQL
EXEC(@SQL)
RETURN @@ERROR
At 12:30 25.06.2004, you wrote:
Hallo,
vor einigen Tagen hatten wir hier das Thema schonmal, dass es so eine Sache ist, Stored Procedures SQL-Teile zu �bergeben.
Wenn ich in meiner Anwendung verschiedene Objekte habe, die ich in der Datenbank abbilde, diese naturgem�ss in versch. Beziehungen zu einander stehen, sodass z.B. beim L�schen erst die Child-Datens�tze gel�scht werden m�ssen bevor man Parent l�scht usw.,
so w�re es doch eine Erleichterung, u.a. eine SP zu schreiben, der man den Tabellenname der Tabelle �bergibt, von der gel�scht werden soll und einen String �bergibt, der die L�schbedingung - z.B. eine Where-Klausel - �bergibt. Das Ganze setzt man dann in der SP zusammen und f�hrt es mit EXEC() aus.
W�re dieses Vorgehen sinnvoll oder str�uben sich den SQL-Server-Spezis unter euch da die Nackenhaare?
Was w�re eine sinnvolle Alternative? Soll man sonst wirklich f�r jede DB-Operation eine SP schreiben? Das werden bei einer gr��eren Anwendung ja schnell hunderte..
Viele Gr��e Lars
www.zoologie-online.de
Lars Berner Stormcrow-Software Postfach: 110123 69071 Heidelberg
--- Ausgehende Mail ist zertifiziert virenfrei. �berpr�ft durch AVG Antivirus System (http://www.grisoft.com/de). Version: 6.0.710 / Virendatenbank: 466 - Erstellungsdatum: 23.06.2004
www.zoologie-online.de
Lars Berner Stormcrow-Software Postfach: 110123 69071 Heidelberg
--- Ausgehende Mail ist zertifiziert virenfrei. �berpr�ft durch AVG Antivirus System (http://www.grisoft.com/de). Version: 6.0.710 / Virendatenbank: 466 - Erstellungsdatum: 23.06.2004
