Requêtes avec filtre paramétrés

Dans certaines requêtes il est nécessaire de prévoir que la clause WHERE (ou HAVING) puisse être augmentées ou diminuées de différentes expressions logiques (prédicats) en fonction de certains paramètres. La plupart du temps, les développeurs vont réaliser cela en utilisant des requêtes construites dynamiquement. Ceci n’est pas toujours intéressant notamment lorsque l’on exige des performances Voici quelques techniques de contournement afin d’obtenir le même effet avec des requêtes statiques.

Lire la suite

Calculs de tous les arrangements (mathématiques) avec une requête SQL

Certains pensent impossible de réaliser des traitements mathématiques complexes à l’aide de requêtes SQL. Voici la démonstration que SQL n’a pas de limite, du fait qu’il s’agit d’un langage complet…
En une seule requête voici le calcul de tous les arrangements possible d’un ensemble de données…

Lire la suite

Rétro ingéniérie des données SQL Server : exporter les lignes sous forme INSERT

Cet article propose une procédure afin d’exporter les données de vos tables sous forme d’ordre INSERT INTO.
Nous poursuivrons cette série d’article consacré à la rétro ingénierie avec un article consacré à l’écriture d’une procédure de création des tables, puis une dernière consacrée aux objets de code (fonctions, procédures, triggers).

Lire la suite

Extensions uniforme ou extensions mixtes ?

SQL Server stocke les pages des fichier de données (tables, index, blobs…) dans des blocs de 8 pages appelés « extents » (extensions en français). Autant une page ne peut appartenir qu’à un seul objet, autant une extension peut comporter des pages de différents objets. Est-il possible de force la mise en place d’extension ne contenant qu’un seul et même type d’objet ? La réponse est oui, mais n’est pas sans conséquences !
Lire la suite