sql >> Database teknologi >  >> RDS >> Sqlserver

hvordan man bruger openrowset til at udføre en lagret procedure med parametre

Både OPENROWSET og OPENDATASOURCE bør kun bruges til at få adgang til eksterne data for, lad os sige, hurtige og beskidte løsninger, eller når det ikke er muligt at konfigurere en permanent linket server. Disse funktioner giver ikke al den funktionalitet, der er tilgængelig fra en forbundet server. Argumenterne for OPENROWSET og OPENDATASOURCE understøtter ikke variabler. De skal angives som string-literal. Hvis variabler skal sendes ind som argumenter til disse funktioner, kan en forespørgselsstreng, der indeholder disse variable, konstrueres dynamisk og udføres ved hjælp af EXEC-sætningen. Ligner (ikke syntaks kontrolleret)

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

Og så videre...Håber det hjælper. Venlig hilsen Stefan



  1. MySQL INSERT IF (tilpassede if-sætninger)

  2. Indsættelse af tekst fra tekstområde i MySQL-database uden at miste formatering

  3. Sådan indsætter du json-array i mysql-databasen

  4. Brug af RTRIM eller REGEXP_REPLACE til at erstatte et komma med et kommamellemrum og et enkelt anførselstegn