Jump to content

Select auf Table-Variable ?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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.

Link zu diesem Kommentar

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?

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...