Bonjour à tous,
Je viens de commencer un nouveau CDI et, par conséquent, commence à analyser le code SQL de l'appli sur laquelle je vais bosser.
Je tique sur la façon dont la vérification des statuts de commandes est réalisée.
Le statut de la commande est stockée dans une colonne "Statut" en int.
A coté de ça, j'ai des fonctions du genre.
Et pour vérifier si une commande est préparée le test est fait comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE FUNCTION [dbo].[COM_CHECK_PREPARED]() RETURNS INT AS BEGIN RETURN 0x00000010 END GO
Le statut doit donc être >= 16 et <=27 pour que la fonction renvoi 0. (Si une commande est préparée son statut est à 16)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 IF (@STATUT&dbo.COM_CHECK_PREPARED())=0 ...
Y'a t'il un intérêt à cette façon de faire plutôt qu'une fonction qui prendrait le statut en entrée et renverrait Vrai si le statut est à 16(où même compris entre 16 et 27) avec une condition
IF @STATUT = 16 ou IF @STATUT BETWEEN 16 AND 27 directement incluse dans la fonction.
J'ai du mal à saisir la logique/intérêt de la chose.
Surtout que des fonctions de ce type sont foison et la gymnastique cérébrale pour convertir les 0x00000040, 0x00000003 et compagnie n'est pas aisée
Merci pour vos réponses!
Partager