2011-02-03 83 views
1

我正在使用接受TVP的動態SQL查詢調用一個函數。有什麼辦法在動態sql中傳遞表值參數。我可以做的一件事就是傳遞逗號分隔的字符串,然後將這個逗號分隔的字符串轉換爲表格。但問題是,我必須轉換表中的每個項目的字符串表(該函數被稱爲所有行),這是可以避免的,如果我可以在動態SQL傳遞表。如何在SQL Server 2008中使用動態查詢傳遞表值參數

感謝 Ashwani

+0

傳遞一個XML文檔的選項嗎? – 2011-02-04 00:04:32

回答

1

當然。其中inputTable是您的TVP類型和@test是變量:

exec sp_executesql 
N'select 
    t.* 
    from @test as t 
    where t.ID = 2' 
,N'@test inputTable readonly' -- note the readonly 
,@test