31,029
edits
m (→Normes HTML) Tag: 2017 source edit |
Tag: 2017 source edit |
||
| Line 257: | Line 257: | ||
Voir aussi le chapitre "Les nombres réels, montants et calculs" plus bas. | Voir aussi le chapitre "Les nombres réels, montants et calculs" plus bas. | ||
*Les fonctions NOW, SYSDATE | *Les fonctions de date NOW, SYSDATE, DATEDIFF sont interdites au sein des ordres SQL. S'il faut saisir la date du moment dans un champ, la valeur doit venir du PHP, par exemple par la fonction dol_now(), et non du moteur de base de données. Ceci afin d'avoir une meilleure portabilité du code mais surtout d'avoir une gestion correcte des TimeZone et ne pas dépendre du TimeZone de la base de donnée. | ||
Par exemple, on ne fera pas: | Par exemple, on ne fera pas: | ||
| Line 278: | Line 278: | ||
Un autre avantage de cette règle est que la requête peut bénéficier de l'utilisation de l'index puisqu'on compare datefield à une valeur fixe. Dans le cas du datediff, on applique un traitement sur le champ avant comparaison, rendant impossible l'utilisation de l'index de ce champ. Les conséquences sont des performances très dégradées par rapport à la version sans datediff. | Un autre avantage de cette règle est que la requête peut bénéficier de l'utilisation de l'index puisqu'on compare datefield à une valeur fixe. Dans le cas du datediff, on applique un traitement sur le champ avant comparaison, rendant impossible l'utilisation de l'index de ce champ. Les conséquences sont des performances très dégradées par rapport à la version sans datediff. | ||
*L'instruction WITH ROLLUP est interdite : | |||
Cette instruction ne doit pas être utilisée : Elle n'est pas gérée de la même manière par des bases de données différentes. | |||
De plus, l'utilisation de WITH ROLLUP brise la pureté des données retournées. L'agrégation intermédiaire de génération de sous-totaux réalisée par cette instruction peut facilement être effectuée à l'aide de PHP et permet de conserver le tableau de données retourné propre (non corrompu par des données insérées artificiellement). | |||
==Règles de migration de base== | ==Règles de migration de base== | ||