TABLESAMPLE, une alternative à ORDER BY NEWID()

Juste un petit post pour présenter une instruction TSQL utile à connaître. Quand vous voulez obtenir un jeu d'enregistrement d'une table de façon aléatoire, il était commode d'utiliser la fonction NEWID (qui génère un GUID) dans une clause ORDER BY. select top 1000 * from person.contact order by newid() Le problème c'est que l'on arrive…Lire la suite TABLESAMPLE, une alternative à ORDER BY NEWID()

Contrainte d’intégrité : Unique ou NULL

Problématique : On a besoin sur une table d’ajouter une contrainte d’intégrité qui est la suivante : je veux que les valeurs de mon champ soient uniques ou NULL (i.e. uniques sauf si elles sont nulles).  J’ai rencontré souvent cette utilisation pour stocker des utilisateurs où l’on souhaite avoir l’unicité des N° de téléphone mais où ce…Lire la suite Contrainte d’intégrité : Unique ou NULL

Le type HierarchyID de SQL Server 2008

Le type HierarchyID est un nouveau type de données de SQL Server 2008 (alias Katmai) qui permet de gérer comme son nom l'indique, des hiérarchies dans des tables relationnelles. Nous allons voir dans cet article que ce nouveau type apporte des réponses dans la modélisation d’arborescences dans les bases de données. Il ajoute des fonctionnalités…Lire la suite Le type HierarchyID de SQL Server 2008

Stopper un script de déploiement avec DBPros

Dans mon script de pré-déploiement, je souhaite arrêter le déploiement si une base de données n'existe pas. Comme indiqué en entête de Script.PreDeployment.sql, je me décide à utiliser la syntaxe de SQLCMD (qui sera utilisé pour jouer mon script). J'écris donc une commande de ce style : IF NOT EXISTS (SELECT 1 FROM [sys].[databases] WHERE [name] =…Lire la suite Stopper un script de déploiement avec DBPros

Gestion des variables dans Visual Studio Team Edition for Database Professionals SR1

J'étais super content que la SR1 de TeamDB (ou DBPros alias Visual Studio Team Edition for Database Professional) sorte enfin des cartons. En effet, j'en avais besoin pour utiliser les variables au niveau projet. J'ai été un peu déçu de voir qu'on ne pouvait les utiliser que dans un contexte restreint. Laissez moi vous décrire…Lire la suite Gestion des variables dans Visual Studio Team Edition for Database Professionals SR1