Utilisation d'un trigger pour faire un delete
Bonjour,
Je voudrais faire un delete dans les tables F_DOCENTETE et F_DOCLIGNE de Sage ligne 100 gestion commerciale, liée à un même numéro, quand je le fais dans la seconde table, je n'ai aucune erreur mais quand je le fais dans F_DOCENTETE, j'obtiens ce message d'erreur, que je ne comprend pas du tout :
Citation:
L'erreur*82067, la gravité*11, l'état*1 ont été générés, mais aucun message avec ce numéro d'erreur n'a été trouvé dans sys.messages. Si l'erreur est supérieure à 50000, vérifiez que le message défini par l'utilisateur a été ajouté à l'aide de sp_addmessage.
Une erreur est survenue lors de l'exécution du déclencheur. Le lot a été abandonné et la transaction utilisateur éventuelle a été restaurée.
Du coup, je pense que je devrais voir du côté des triggers mais j'ignore totalement comment ça marche.
Je vous met tout de même la fonction que j'ai implémenté:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Private Function supprimer_facture(ByVal param_num_facture As String) As Boolean
Dim cmd As SqlClient.SqlCommand = global_SQL_connection.CreateCommand
Try
For Each loop_table As String In {"F_DOCLIGNE", "F_DOCENTETE"}
If global_SQL_connection.State = ConnectionState.Open Then
global_SQL_connection.Close()
End If
global_SQL_connection.Open()
cmd.CommandType = CommandType.Text
cmd.CommandText = String.Format("DELETE FROM {0} WHERE DO_PIECE='{1}'", loop_table.Trim, param_num_facture.Trim)
cmd.ExecuteNonQuery()
Next loop_table
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
Return True
End Function |
Merci