PostgreSQL : Travailler avec des constantes nommées dans les requêtes
Contrairement à certains langages de programmation, PostgreSQL ne prend pas en charge la définition directe de constantes nommées dans une requête SQL. L'exemple suivant ne fonctionnera pas :
<code class="language-sql">MY_ID = 5; SELECT * FROM users WHERE id = MY_ID;</code>
Solution efficace : expressions de table communes (CTE)
La solution de contournement la plus efficace consiste à utiliser des expressions de table communes (CTE). Un CTE vous permet de définir une constante nommée à usage interne dans la requête :
<code class="language-sql">WITH my_constants AS ( SELECT 5 AS my_id ) SELECT * FROM users, my_constants WHERE users.id = my_constants.my_id;</code>
Cette approche définit my_id
comme une constante au sein du my_constants
CTE. La requête principale se joint ensuite à ce CTE, rendant la constante accessible pour une utilisation dans la clause WHERE
.
Cette méthode CTE s'avère particulièrement utile lorsqu'il s'agit de valeurs de date constantes ou d'autres paramètres sur plusieurs sous-requêtes. Il garantit la cohérence et améliore la lisibilité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!