2010-01-22 12 views
9

Nous rencontrons un problème avec une fonction SQL mal codée (qui fonctionne correctement en direct, mais pas dans notre environnement de test). Cette fonction est utilisée pour fournir une valeur par défaut dans de nombreuses tables, en essayant de modifier la fonction retourne une erreur "Impossible de modifier ALTER ### parce qu'elle est référencée par l'objet".Modification d'une fonction utilisée en tant que colonne par défaut dans SQL Server

Y a-t-il un moyen de contourner ce message d'erreur? La seule façon dont je peux penser à nous essayant d'écrire un script pour le retirer de chaque table qui l'a par défaut, en modifiant la fonction et en la rajoutant après.

Merci

Répondre

12

Puisque l'objet est référencé, vous ne pouvez pas le modifier. Voici ce que vous faites:

  1. Retirez la contrainte par défaut de la table/colonne
  2. Modifier la fonction
  3. Ajouter la contrainte par défaut Retour
5

SQL Server ne vous permet pas de modifier une fonction qui est liée à la contrainte par défaut d'une colonne.

Votre seule option consiste à supprimer la contrainte avant de modifier la fonction. (Source)

Questions connexes