Mise à jour de tous les composants de SQL NULL valeurs de plusieurs colonnes à l'aide de la Colonne au niveau de la clause where?

Nous avons une base de données avec un tas de tables large (de 40 à 80 colonnes) et je viens de trouver un bug qui introduit des valeurs NULL dans environ 500 enregistrements. Les valeurs NULLES peuvent apparaître dans l'une des colonnes (elles sont toutes les colonnes de type entier, voir image ci-dessous), mais ces valeurs NULL sont à l'origine de problèmes avec l'un de nos systèmes de déclaration qui ne peut être changé facilement. Nous avons besoin de remplacer les valeurs NULL avec une valeur statique (dans ce cas-99), mais depuis ce changement doit être faite sur l', colonne par colonne, pour plus de 250 différentes colonnes, je préfère ne pas écrire des scripts TSQL mise à jour de chaque colonne, un par un.

Mon cerveau est trop frit droit maintenant à trouver une solution intelligente, donc ma question est comment puis-je effectuer cette tâche sur toutes les colonnes dans une table (ou mieux encore plusieurs tables) à l'aide d'un simple et lisible de la requête SQL. Je peux isoler les enregistrements assez facile à l'aide d'une chaîne de WHERE (Answer_1 IS NULL) OR (Answer_2 IS NULL) OR ... ou même par AdministrationID numéros pour chaque table, mais cette astuce ne fonctionne pas quand la mise à jour de la clause where est par ligne et non par colonne. Des conseils?

Voici un exemple de requête montrant quelques-uns des enregistrements à partir de 4 tables différentes:
Mise à jour de tous les composants de SQL NULL valeurs de plusieurs colonnes à l'aide de la Colonne au niveau de la clause where?

Ça fait mal, vraiment mal.
Je suppose que je voudrais ajouter une contrainte not null par défaut avec un 99 sur chaque et chaque colonne?
Je regarde cela et je me demande pourquoi les colonnes ne sont pas les éléments suivants: AdministrationID, InstrumentID, AnswerID, de la valeur. Heck, vous pouvez même ajouter un autre id, de sorte que vous pouvez fusionner toutes ces tables en 1...

OriginalL'auteur Greg Bray | 2010-10-15