Como posso determinar os parâmetros exigidos por uma parte arbitrária do T-SQ
Basicamente, estou procurando um equivalente aSqlCommandBuilder.DeriveParameters
que funcionará para T-SQL arbitrário.
Por exemplo, esta consulta requer um parâmetro:
SELECT @Foo [Foo], '@Bar' [Bar], @Baz [Baz]
Eu basicamente preciso extrair:
new[] { "Foo", "Baz" }
De cima. Eu poderia criar um analisador SQL, mas tenho uma conexão aberta com o SQL Server, portanto, prefiro usar uma opção existente, se possíve
EditarLáte ser uma maneira de fazer isso, porque o Business Intelligence Development Studio do SQL Server é capaz de fazer isso com muito sucess
Edit 2:@SQL BIDS está executando este comando para descrever os resultados:
exec sp_executesql N'SET FMTONLY OFF;SET FMTONLY ON;SELECT @Foo [Foo], ''@Bar'' [Bar], @Baz [Baz]',
N'@Foo sql_variant,@Baz sql_variant',
@Foo=NULL,@Baz=NULL
O que explica como pode determinar as colunas, masposs ser apenas análise de string para obter os parâmetros ...