sql >> Base de Datos >  >> RDS >> Sqlserver

Pasar tabla como parámetro a SQLCLR TV-UDF

Resulta que hay una lista fija de entradas válidas en una función SQLCLR, determinada por el disponible mapeo entre tipos de datos .NET y tipos de datos SQL

La "tabla" de tipo de datos SQL se menciona explícitamente como sin asignación a través del CLR.

Ergo, no es posible pasar datos con valores de tabla A una función CLR con valores de tabla como parámetros de método.

Alternativas

Parece posible obtener datos tabulares a través de select ... for xml contorsiones para alimentar un SqlXml parámetro.

He usado con éxito SqlConnection conn = new SqlConnection("context connection = true"); en el código .NET para permitir que TVF consulte la base de datos para obtener los datos tabulares que necesita.