76 votes

TSQL Comment pensez-vous de la sortie d'IMPRESSION dans une fonction définie par l'utilisateur?

Fondamentalement, je veux utiliser PRINT déclaration à l'intérieur d'une fonction définie par l'utilisateur à l'aide de mon débogage.

Cependant j'obtiens l'erreur suivante;

Utilisation invalide de côte-d'effectuer ou dépendant du temps de l'opérateur dans "IMPRIMER" au sein d'une fonction.

Cela ne peut pas être fait?

De toute façon, à l'aide ma fonction définie par l'utilisateur de débogage?

Cheers

55voto

Estevez Points 81

Astuce: générer l'erreur.

declare @Day int, @Config_Node varchar(50)

    set @Config_Node = 'value to trace'

    set @Day = @Config_Node

Vous obtiendrez ce message:

Échec de la Conversion lors de la conversion de la valeur varchar "valeur de trace" pour le type de données int.

40voto

Tor Haugen Points 8258

Non, désolé. Fonctions définies par l'utilisateur dans SQL Server sont vraiment limités, en raison d'une exigence qu'elles soient déterministes. Pas d'autre solution, pour autant que je sais.

Avez-vous essayé de déboguer le code SQL avec Visual Studio?

27voto

TheTXI Points 24470

J'ai eu tendance dans le passé à travailler sur mes fonctions en deux étapes. La première étape serait de les traiter comme assez normal des requêtes SQL, et assurez-vous que je reçois les résultats de la droite en dehors de ça. Après je suis persuadé qu'il est à la hauteur souhaitée, puis je voudrais le convertir en un fichier UDF.

4voto

Quassnoi Points 191041

Non, vous ne pouvez pas.

Vous pouvez faire appel à un function d'un stored procedure et déboguer un stored procedure (ce sera pas dans l' function)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X