Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

jak używać openrowset do wykonywania procedury składowanej z parametrami?

Zarówno OPENROWSET, jak i OPENDATASOURCE powinny być używane tylko do uzyskiwania dostępu do danych zewnętrznych dla, powiedzmy, szybkich i brudnych rozwiązań lub gdy nie można skonfigurować stałego serwera połączonego. Te funkcje nie zapewniają wszystkich funkcji dostępnych z serwera połączonego. Argumenty OPENROWSET i OPENDATASOURCE nie obsługują zmiennych. Muszą być określone jako ciąg znaków. Jeśli zmienne muszą być przekazywane jako argumenty do tych funkcji, ciąg zapytania zawierający te zmienne można konstruować dynamicznie i wykonywać za pomocą instrukcji EXEC. Podobnie jak (bez sprawdzania składni)

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

I tak dalej... Mam nadzieję, że to pomoże. Z poważaniem Stefan



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wykonać połączenie wewnętrzne na numerze wiersza w serwerze sql?

  2. Jak wyłączyć wszystkie ograniczenia wyboru i klucza obcego dla tabeli w programie SQL Server (przykłady T-SQL)

  3. Jak sprawdzić, które kolumny nie zawierają żadnych danych (wszystkie wartości mają wartość NULL)?

  4. nie można znaleźć procedury składowanej

  5. Jak usunąć znak z kolumny w SQL Server?