J'ai une requête MS SQL qui extrait des données d'un serveur distant. Les données que j'extrais doivent être filtrées en fonction d'une date qui est déterminée au moment de l'exécution. Lorsque je lance la requête comme ceci :
SELECT * FROM SERVER.Database.dbo.RemoteView
WHERE EntryDate > '1/1/2009'
puis le filtre est appliqué à distance... Cependant, je ne veux pas utiliser '1/1/2009' comme date - je veux que la date soit fournie par une fonction définie par l'utilisateur, comme ceci :
SELECT * FROM SERVER.Database.dbo.RemoteView
WHERE EntryDate > dbo.MyCustomCLRDateFunction()
où la fonction est une fonction personnalisée CLR à valeur scalaire qui renvoie une date et une heure... ( Vous vous demandez peut-être pourquoi je dois faire cela... les détails sont un peu compliqués, alors faites-moi confiance - je dois le faire de cette façon. )
Lorsque j'exécute cette requête, la requête distante n'est PAS filtrée à distance - le filtrage est effectué après que toutes les données ont été extraites (400 000 lignes contre 100 000 lignes) et la différence est significative.
Existe-t-il un moyen de forcer la requête à effectuer le filtrage à distance ?
Merci !