Exigences : Procédure stockée, il faut insérer une donnée dans les tables A et B, où la principale relation de clé étrangère entre les tables A et B ; les colonnes associées à la table B sont les clés primaires de la table A, il faut insérer la valeur de clé primaire de la table A après l’insertion terminée, obtenir la valeur principale de la clé A, puis insérer les données dans la table B.
Après avoir inséré un enregistrement, vous devez obtenir immédiatement la valeur de retour de la clé primaire dans sa fiche technique. Cette clé primaire est générée automatiquement.
Tout d’abord, créez une table temporaire pour tester, le code est le suivant :
@@IDENTITY
Après la fin d’une instruction INSERT, SELECT IN ou en bloc copy, le @@IDENTITY contient la dernière valeur d’identification produite par cette instruction. Si cette instruction n’affecte aucune table avec des colonnes identifiées, @@IDENTITY renvoie NULL. Si plusieurs lignes sont insérées, plusieurs valeurs d’identifiant sont générées, @@IDENTITY la dernière valeur d’identifiant est retournée. Si cette instruction déclenche un ou plusieurs déclencheurs effectuant une opération d’insertion produisant une valeur identifiée, appeler @@IDENTITY immédiatement après l’exécution de l’instruction retournera la dernière valeur d’identification générée par le déclencheur. Si l’instruction INSERT ou SELECT INTO échoue ou si la réplication massive échoue, ou si la transaction est annulée, la valeur @@IDENTITY n’est pas restaurée à ses paramètres précédents.
SORTIE INSÉRÉE
Pour INSERT, vous pouvez référencer la table insérée pour interroger les propriétés de la nouvelle ligne
Le code de test est le suivant :
L’effet est le suivant :
|