icolor 10 Geschrieben 20. April 2011 Melden Teilen Geschrieben 20. April 2011 Hallo, ich würde gerne wissen ob es möglich ist, einer Prozedur den Tabellennamen zu übergeben, welche Sie dann auswerten soll. So in der Art: CREATE PROCEDURE GETMAXZAEHLER @table_name sysname = null AS BEGIN ...... SELECT * FROM @table_name Ich denke mir, das das irgendwie geht. Aber ich komme nicht dahinter wie. Im Einsatz habe ich den MS Server 2005. Zitieren Link zu diesem Kommentar
icolor 10 Geschrieben 20. April 2011 Autor Melden Teilen Geschrieben 20. April 2011 So, ich habe das jetzt bislang wie folgt: IF OBJECT_ID('GETMAXZAEHLER', 'P') IS NOT NULL DROP PROCEDURE GETMAXZAEHLER; GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE GETMAXZAEHLER @table_name varchar(255) AS BEGIN SET NOCOUNT ON; if @table_name is null begin raiserror (15250, -1,-1) return end DECLARE @sql varchar(4000) select @sql = 'SELECT MAX(ZAEHLER) + 1 AS new_zaehler FROM [' + @table_name + ']' exec (@sql) END GO Ist ja auch so weit ganz gut. Ich bekomm den Satz den ich will. Aber wie kann ich jetzt das Ergebnis aus dem @sql als Rückgabe Parameter der Prozedure auswerten? Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.