Laden...

[gelöst] Dynamische SQL-Generierung mit T-SQL

Erstellt von Da_Flo vor 12 Jahren Letzter Beitrag vor 12 Jahren 723 Views
D
Da_Flo Themenstarter:in
269 Beiträge seit 2009
vor 12 Jahren
[gelöst] Dynamische SQL-Generierung mit T-SQL

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

T
574 Beiträge seit 2008
vor 12 Jahren

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

D
Da_Flo Themenstarter:in
269 Beiträge seit 2009
vor 12 Jahren

funktioniert perfekt!

danke!