Announcement

Collapse
No announcement yet.

Spalten als Parameter (in Stored Procedures)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spalten als Parameter (in Stored Procedures)

    Mit den Stored Prodedures befinde ich mich auf dem Kriegsfuss.

    Ich wollte mittels Parameterübergabe eine Spaltenamen übergeben,

    der dann innerhalb der SP als Bestandteil eines SELECt Befehls dann angesprochen werden soll.. Statt der gewünschten Fehlinhalte, wird immer nur der Spaltenname angezeigt. Hier das kleine Script:

    Code:
    
    
    CREATE PROCEDURE Testprozedur
    		 (@cSpalte varchar(20) )
    AS
    BEGIN
         SELECT @cSpalte FROM TAB_BReg
    
    END
    GO
    Aufrufen wollte ich die SP mit
    Code:
    EXEC Testprozedur Spaltenname

  • #2
    Die Zeile mit dem dynamischen SQL wirst du dann auch innerhalb der Procedure erst kompilieren müssen. Ob dann die Stored Procedure für dich noch Sinn machst musst du selbst entscheiden.

    [Highlight=SQL]CREATE PROCEDURE Testprozedur
    (@cSpalte varchar(20) )
    AS
    BEGIN
    EXEC ('SELECT ' + @cSpalte +' FROM TAB_BReg')
    END
    GO[/Highlight]

    Comment


    • #3
      Hallo Ralf,

      erst einmal vielen Dank für diesen Hinweis. Der Code sollte ja auch nir ein Beispiel sein.
      Bis denn

      Comment


      • #4
        dynamisches sql verwenden:

        CREATE PROCEDURE Testprozedur
        (@cSpalte varchar(20) )
        AS
        BEGIN
        DECLARE @sql varchar(max)
        SET @sql = 'SELECT ' + @cSpalte + ' FROM TAB_BReg'
        EXEC(@sql)
        END


        GO

        Comment

        Working...
        X