簡體   English   中英

將 XML 變量從存儲過程傳遞到 SQL 服務器中的另一個存儲過程

[英]Pass XML variable from a stored proc to another stored proc in SQL server

我有 2 個存儲過程。

第一個接收一些變量作為輸入參數,其中一個是 XML。

在這個過程中,我調用另一個過程,但動態地像那樣。 此過程處理 XML 以將其插入數據庫。

SET @SQL = 'EXEC [' + @ServerIp + '].[List_' + CAST(@AccountId AS VARCHAR) + '].[dbo].[psu_proc_name] @ParameterId = ' + CAST(@ParameterId AS VARCHAR) + ',@MappingFields = ' + @MappingFields

@MappingFields 是第一個過程和第二個過程中的 XML 變量的名稱(動態調用)

我在第二個過程(動態)中管理 XML 的處理,但我不知道如何將參數作為 XML 傳遞給第二個過程。

謝謝

最好的方法是使用sp_executesql存儲過程,而不是使用 simle exec命令。 請參閱EXEC sp_executesql with multiple parameters問題中的不重復但非常清晰的示例,以便於理解細節。

我試過這樣的事情:

SET @SQL = N'EXEC [' + @ServerIp + '].[List_' + CAST(@AccountId AS VARCHAR) + '].[dbo].[psu_opensystem_field_mapping_add]'
EXEC sp_executeSQL @SQL, N'@ParameterId INT, @MappingFields XML' , @ParameterId, @MappingFields

但它說

Procedure or function 'psu_opensystem_field_mapping_add' expects parameter '@ParameterId', which was not supplied

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM