sql >> Database >  >> RDS >> Sqlserver

hoe openrowset te gebruiken om een ​​opgeslagen procedure met parameters uit te voeren

Zowel OPENROWSET als OPENDATASOURCE moeten alleen worden gebruikt voor toegang tot externe gegevens voor, laten we zeggen, snelle en vuile oplossingen, of wanneer het niet mogelijk is om een ​​permanent gekoppelde server te configureren. Deze functies bieden niet alle functionaliteit die beschikbaar is vanaf een gekoppelde server. De argumenten van OPENROWSET en OPENDATASOURCE ondersteunen geen variabelen. Ze moeten worden opgegeven als string-letterlijk. Als variabelen als argumenten aan deze functies moeten worden doorgegeven, kan een queryreeks die deze variabelen bevat dynamisch worden geconstrueerd en uitgevoerd met behulp van de EXEC-instructie. Vergelijkbaar met (niet op syntaxis gecontroleerd)

DECLARE @sqlCommand varchar(1000)
SET @sqlCommand = 'SELECT *
FROM OPENROWSET(''SQLNCLI'',''server=.\sqlexpress;Trusted_Connection=yes'',''SET NOCOUNT ON;SET FMTONLY OFF;EXEC [BSC_DB].dbo.SelectScorecardGraphData ''''' + cast(@param1 as varchar(10)) + ''''',''' + cast(@param2 as varchar(n)) ''')'
EXEC @sqlCommand

En zo verder... Hoop dat dat helpt. Met vriendelijke groet, Stefan



  1. Hoe kan ik mijn ad-hoc SQL testen met parameters in het Postgres-queryvenster?

  2. Verschil tussen tijdstempels met/zonder tijdzone in PostgreSQL

  3. WAMP negeer my.ini

  4. Onze server kan niet meer dan 20 verzoeken/seconde aan