Je travaille sur un projet et la question a été soulevée: une instruction d'insertion peut-elle insérer sa propre identité dans un autre champ? L'idée est qu'il y aurait une disposition hiérarchique des enregistrements et que le champ 'parent' pointerait vers l'ID de l'enregistrement parent et que l'enregistrement 'haut' pour un arbre donné pointerait juste vers lui-même.Identification de la ligne d'insertion en cours
Nous pourrions bien sûr laisser juste la valeur null pour le parent ou revenir et insérer son ID plus tard. Mais je me demandais s'il y avait une opération SQL Server pour insérer une IDENTITY dans un autre champ que l'enregistrement est en cours d'insertion?
EDIT: Ou existe-t-il un moyen de spécifier la valeur par défaut pour qu'un champ soit la valeur d'un autre champ? Cela réglerait également le problème.
EDIT: Le champ par défaut étant un autre champ a déjà été répondu il semble, et la réponse est non, utilisez un déclencheur. Bien sûr, cela n'aide pas le problème des contraintes et des champs non nuls. (http://social.msdn.microsoft.com/Forums/en/sqltools/thread/661d3dc8-b053-47b9-be74-302ffa11bf76)
C'est très utile à savoir, mais je cherche à insérer un seul enregistrement avec l'ID dans un autre champ en plus du champ ID. La raison de ceci serait seulement dans les cas où l'enregistrement était l'enregistrement parent et donc il se définirait comme le parent au lieu d'un autre enregistrement préexistant. – cjbarth