Quantcast
Channel: Für Entwickler: SQL Server Forum
Viewing all articles
Browse latest Browse all 1772

Parameterproblem bei dynasmischem SQL

$
0
0

Hi,

ich habe eine banale Tabelle:

CREATE TABLE [dbo].[test](    [eins] [varchar](50) NOT NULL,    [zwei] [varchar](50) NULL, CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED (    [eins] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

mit zwei Spalten Eins und zwei, beide varchar(50)

mit den Werten

insert into test(eins, zwei) values(1,2)

1 und 2 in den entsprechenden Spalten.

Die Abfrage

select eins from test

bringt auch korrekt das Ergebniss 1

Der folgende Code bringt im Ergebnissfenster ebenfalls das richtige Ergebniss 1

declare
@in varchar(50),
@sql nvarchar(500)
set @in = 'eins'
set @sql = 'select ' + @in + ' from test'
Exec(@sql)

kann allerdings nicht mit dem Outputparameter umgehen. Ich benötige das Ergebniss aber zum Weiterarbeiten.

Also:

exec sp_executesql N' Select @1 from test where zwei = @2',N'@1 nvarchar(100),@2 nvarchar(100)',@1=N'eins',@2=N'2'

versucht und als Ergebniss 1 erwartet. Aber: Das ERgebniss ist
'eins'

also der Spaltenname, nicht der Value.

Wie schaffe ich eine Abfrage nach dem Motto Select @Variable from @Variable2 where @variabel3 = @Variable4?

die Tabelle und die nSplate können auch noch fix sein, wichtig ist in erster Line die Select @Variable. Diesen Wert brauche ich, um weiterzuarbeiten.

Danke für die Hilfe



Viewing all articles
Browse latest Browse all 1772

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>