stored procedure mit DELETE

Y2J

Grünschnabel
SQL Server 2000 -> stored procedure mit DELETE

Hallo!
Ich benutze MS SQL Server 2000 und möchte eine stored procedure erstellen, die mir per Variablen-Eingabe gewünschte Werte aus einer Tabelle entfernt.
Ich habe mir das ungefähr so vorgestellt:
CREATE PROCEDURE [procedure_name] (@table_name varchar(30), @column varchar(20), @value int)
AS
DELETE FROM @tablename
WHERE @column = @value
GO
Funktioniert leider nur nicht...
 
Zuletzt bearbeitet:
Das geht so nicht, da man den Namen einer Tabelle oder eines Feldes nicht als Variabel in einem Delete, Slect oder wie auch imemr Statement angeben kann. Aber es gibt einen Ausweg: Du musst Dir das SQL Statement als String basteln und dann ausführen, also ungefähr so:

CREATE PROCEDURE [procedure_name] (@table_name varchar(30), @column varchar(20), @value int)
AS
DECLARE @query varchar (1000)
SET @Query = 'DELETE FROM ' + @tablename + ' WHERE ' + @column + ' = ''' + CAST (@value as varchar (100)) + ''''

exec (@query)
GO

Achtung nicht getestet....
 
Zurück