Σενάριο :
2 ίδιοι πίνακες. Πίνακας 1 + Πίνακας 2
Ο Πίνακας 2 έχει ενα παραπανήσιο Column.
Όταν ο χρήστης διορθώσει κάτι στον Πίνακα 1 και η εγγραφή υπάρχει στον Πίνακα 2 η διόρθωση γίνεται και σε αυτόν και αντίστροφα.
Εφτιαξα τα triggers, τα εκτελώ και παίζουν μια χαρά αφου πρώτα ρύθμισα τα nested triggers =0 και EXEC sp_dboption '<name of db>', 'recursive triggers', 'true'
στον SQL και στην βάση.
Κάνω edit τον Πίνακα 1 μέσω του SQL Server Management Studio Express και παρατηρώ ότι διορθώνεται και ο Πίνακας 2 όπως ακριβώς θέλω.
Όταν όμως εκτελώ την εφαρμογή σε VB.NET προσπαθώ να διορθώσω μια εγγραφή με τον παρακάτω κώδικα
1 2 3 4 5 6 7 8 9 |
Dim CustomerRow As Customers_DataSet.CustomersRow CustomerRow = Customers_DataSet.Customers.FindByid(CustomerID) With CustomerRow .Name = Trim(NameEditTextBox.Text) .Title = Trim(TitleEditTextBox.Text) ............... End With
CustomersBindingSource.EndEdit() Me.CustomersTableAdapter.Update(CustomerRow) |
και παίρνω το παρακάτω SqlException
Maximum stored procedure, function, trigger or view nesting level exceed (limit32)
Γιατί όταν κάνω Update με το SQL Server Management Studio Express παίζει και οταν κάνω Update απο την εφαρμογή δεν παίζει ;