sql >> Database >  >> RDS >> Sqlserver

Tabel doorgeven als parameter aan SQLCLR TV-UDF

Blijkt dat er een vaste lijst is met geldige invoer voor een SQLCLR-functie, bepaald door de beschikbare mapping tussen .NET datatypes en SQL datatypes

SQL Datatype "tabel" wordt expliciet genoemd met geen toewijzing via de CLR.

Ergo, het is niet mogelijk om tabelwaardegegevens door te geven IN een tabelwaarde CLR-functie als methodeparameters.

Alternatieven

Het lijkt mogelijk om tabelgegevens binnen te krijgen via select ... for xml verdraaiingen om in te voeren in een SqlXml parameter.

Ik heb met succes SqlConnection conn = new SqlConnection("context connection = true"); gebruikt in de .NET-code om de TVF de database te laten opvragen voor de tabelgegevens die het nodig heeft.



  1. SQL-UPDATE voor beginners

  2. Hoe krijg ik een datum uit de MySql-database naar het C# DateTime-object?

  3. SQL:alleen de eerste letter met een hoofdletter

  4. MySQL vergelijk now() (alleen datum, geen tijd) met een datetime-veld