AN ERROR OCCURRED IN A TRIGGERED SQL STATEMENT IN trigger-name. INFORMATION RETURNED: SQLCODE: sql-code, SQLSTATE: sql-state, MESSAGE TOKENS token-list, SECTION NUMBER section-number
Explication :
Lors de l’exécution d’une instruction UPDATE, MERGE, INSERT ou DELETE, un déclencheur (trigger) a été activé. L’une des instructions SQL déclenchées a reçu une condition d’erreur SQL.
trigger-name
Le déclencheur qui a été activé lorsque l’erreur s’est produite.
section-number
Numéro de section associé à l’instruction SQL déclenchée défaillante. Pour les déclencheurs qui contiennent une clause WHEN, la clause WHEN est la section numéro un. Les instructions SQL déclenchées sont numérotées séquentiellement, en commençant par la section numéro deux. Cela est vrai pour les déclencheurs avec ou sans clause WHEN.
sql-code
Une valeur numérique qui indique pourquoi l’exécution de l’instruction SQL a échoué. Ce code est reçu par le déclencheur activé.
sql-state
Le SQLSTATE correspondant pour le SQLCODE.
token-list
La liste des jetons de l’erreur SQL d’origine. Cette liste peut être tronquée.
Action du système :
Le déclencheur et l’instruction d’origine ne peuvent pas être traités. La table de déclenchement est inchangée.
Réponse du programmeur système :
Identifiez l’instruction SQL défaillante à l’aide de l’une des méthodes suivantes :
- Utilisez le nom du déclencheur et le numéro de section.
- Si la définition du déclencheur est disponible, utilisez le numéro de section.
- Utilisez l’instruction SELECT suivante pour extraire l’instruction de la table de catalogue SYSIBM.SYSPACKSTMT :
SELECT STMT, SEQNO FROM SYSIBM.SYSPACKSTMT
WHERE COLLID = 'schema-name'
AND NAME = 'trigger-name'
AND SECTNOI = section-number
ORDER BY SEQNO
Le résultat STMT est au format Unicode, sauf si le déclencheur a été créé dans DB2 version 7 ou antérieure. Pour afficher un résultat Unicode au format EBCDIC, émettez la commande DISPLAY UTF8 dans le programme de navigation ISPF dans SPUFI.
Reportez-vous à l’explication du SQLCODE indiqué par sql-code dans ce code et prenez l’action ou les actions appropriées.
Réponse du programmeur :
Contactez votre administrateur de base de données pour déterminer pourquoi le déclencheur nommé dans le message a reçu l’erreur.
SQLSTATE :
09000