verwendetes Datenbanksystem: MsSqlServer 2008 RC2
Hallo!
Ich bin gerade dabei eine stored procedure zu schreiben.
Meine Frage ist kann ich aus folgendem code
execute('select '+@feld+' from tabelle1 where x=1')
das ergebniss irgendwie in einer Variable speichern?
normal schreibt man ja
select @variable = feld from tabelle1 where x=1
allerdings möchte ich gern dynamisch bestimmen welches 'feld' abgefragt wird.
danke
Flo
Hier ein kleines Beispiel:
DECLARE @Name nvarchar(255)
DECLARE @Column nvarchar(64)
DECLARE @stmt nvarchar(1024)
SET @Column = 'Nachname'
SET @stmt = 'SELECT TOP 1 @ReturnValue = ' + @Column + ' FROM V_Mitarbeiter WHERE Mitarbeiter_ID = @Mitarbeiter_ID'
execute sp_executesql @stmt, N'@ReturnValue nvarchar(1024) OUTPUT, @Mitarbeiter_ID int', @ReturnValue = @Name output, @Mitarbeiter_ID = 3304
SELECT @Name
wichtig ist die Angabe von "Output" in der Parameter-Definition UND in der Übergabe