Forums Neueste Beiträge
 

Ausführen von externer SQL-Anweisung

24/08/2009 - 10:47 von Michael Monarch | Report spam
Servus Experten ,

ich möchte ein SQL-Statement welche an eine Procedure übergeben wird
ausführen. Nun meine gefundene Lösung funzt zwar ist aber nicht schön.

Declare @RWert as nchar(50)
Declare @ExtSql as nchar(200)
set @ExtSql='Select Count(*) from Materialstamm'

exec ('alter FUNCTION SQLStatement()
returns nchar(50)
as
begin Declare @RWert as nchar(50) set @RWERT=( ' + @ExtSql+')
return @RWert
end')

set @RWert=dbo.SQLStatement()


Meine Frage gibt es eine Möglichkeit zum gleichen Ergebniss zu kommen ohne
eine Funktion zu bemühen ?

Declare @RWert as nchar(50)
Declare @ExtSql as nchar(200)
set @ExtSql='Select Count(*) from Materialstamm'

EXEC @RWert = ?????

SELECT 'Return Value' = @RWert


mfg eem michael monarch
 

Lesen sie die antworten

#1 Christoph Ingenhaag
24/08/2009 - 10:57 | Warnen spam
"Michael Monarch" wrote:

Servus Experten ,

ich möchte ein SQL-Statement welche an eine Procedure übergeben wird
ausführen. Nun meine gefundene Lösung funzt zwar ist aber nicht schön.

Declare @RWert as nchar(50)
Declare @ExtSql as nchar(200)
set @ExtSql='Select Count(*) from Materialstamm'

exec ('alter FUNCTION SQLStatement()
returns nchar(50)
as
begin Declare @RWert as nchar(50) set @RWERT=( ' + @ExtSql+')
return @RWert
end')

set @RWert=dbo.SQLStatement()


Meine Frage gibt es eine Möglichkeit zum gleichen Ergebniss zu kommen ohne
eine Funktion zu bemühen ?

Declare @RWert as nchar(50)
Declare @ExtSql as nchar(200)
set @ExtSql='Select Count(*) from Materialstamm'

EXEC @RWert = ?????

SELECT 'Return Value' = @RWert


mfg eem michael monarch



Schau mal hier:
http://www.sommarskog.se/dynamic_sql.html
bzw. als Übersetzung
http://www.insidesql.org/beitraege/...-und-segen

Viele Grüße
Christoph

Ähnliche fragen