+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 3 su 3

Can't update table 'table' in stored function/trigger because it is already used by..

  1. #1
    ushio non è in linea Novello
    Post
    2
    Like Inviati  
    0
    Like Ricevuti  
    0
    Buongiorno, mi sto cimentando nella creazione di un database su piattaforma MariaDB che gestisco tramite phpmyadmin e non sono pratico di SQL.
    Ho un problema analogo a quello descritto sopra, con la visualizzazione dell'errore "Can't update table 'table' in stored function/trigger because it is already used by statement which invoked this stored function/trigger" nel momento in cui viene eseguita l'operazione a cui fa riferimento il trigger creato come descritto in questo post.
    Il trigger è stato creato con la sola voce UPDATE per l'evento AFTER INSERT al momento ma vorrei predisporlo anche per l'evento AFTER UPDATE..

    .. Questo sarebbe il mio quesito, identico ad un altro post.
    Era una info che mi sarebbe piaciuto ricevere per agevolare lo startup nel mio lavoro, mentre avevo inziato già a studiare le base con l'ausilio di un testo in inglese.

    Il post a cui mi ero accodato era del 2008, mi è stato fatto notare, tralasciando il modo in cui è stato fatto.

    Se tutti facessero come suggerisce il moderatore di cui sopra, avremmo 2000 post identici anziché 2 esaustivi.
    Sono un neofita dei database ma credo che questi, da quel poco che so, abbiano come fine principale la riduzione della ridondanza dei dati, cosa che, in un forum che tratta l'argomento, non mi sarei mai aspettato di ricevere come consiglio da un moderatore..

    Non mi aspetto che questo post abbia un seguito e probabilmente verrà censurato per pudore del su menzionato.

    Non è neppure mia intenzione fare polemica, non ne ho il tempo.
    Il mio vuole essere un segnale ai moderatori del forum.
    Comportamenti del genere non invogliano ma scoraggiano.

    Esercizio:
    Create un database forum..
    Create una tabella post..
    inserite i campi (id, categoria, moderatore, contenuto, data)
    create una tabella categorie
    inserite i campi (id, categoria)..
    create una tabella moderatori
    inserite i campi (id, moderatore)..

    Quale secondo voi sono i campi fondamentali e quali quelli superflui qui?
    Categoria? Contenuto? ... data?

    Un argomento non ha tempo a meno che l'argomento stesso non venga superato in forma e contenuti ed in maniera sostanziale.

    Non mi pare sia così al momento.

    Suggerisco ai moderatori di non dimenticare la filosofia alla base del tutto e di non fossilizzarsi su codice e numeri.
    Non è un furum di filosofia, lo so bene, ma non si può trattare un qualsiasi argomento senza conoscerlo..
    E non lo si conosce sapendo qua e la a caso qualche formula.

    Non puoi trascurare il fine ultimo perdendoti nei tecnicismi e nei numeri.

    Non credo che questo forum faccia per me con questi presupposti.

  2. #2
    L'avatar di Max.Riservo
    Max.Riservo non è in linea Scribacchino
    Post
    745
    Like Inviati  
    1
    Like Ricevuti  
    2
    Un argomento non ha tempo a meno che l'argomento stesso non venga superato in forma e contenuti ed in maniera sostanziale.
    Questo può anche essere vero in tante realtà : nel mondo informatico dipende .... 7 anni nel mondo del sw possono equivalere a secoli !

    Lascio ad Antonio l' onere (e il tempo) di rispondere alle tue 'osservazioni' : mi permetto solo di farti notate che il post al quale ti sei accodato (e che tu ritieni MOLTO simile al tuo problema) non menziona affato problemi con trigger (che, vado a memoria, probabilmente nel 2008 NON erano ancora stati implementati in MySQL) ma parla molto banalmente di errore di sintassi su istruzione Update di SQL ......

  3. #3
    L'avatar di +m+
    +m+
    +m+ non è in linea Scribacchino
    Post
    922
    Like Inviati  
    0
    Like Ricevuti  
    0
    Francamente non ho capito un granchè di qual'è la domanda.
    Suggerisco di formularla in maniera che sia possibile rispondere senza dover dedicare più tempo del necessario per "decodificarla".
    Se dovessi "scommettere", basandomi sulla mia esperienza e nulla più, direi che stai tentando di modificare la tabella X all'interno di un trigger proprio AFTER INSERT su X.
    Questo, in generale, non è permesso, giacchè il trigger potrebbe andare in loop (e creare anche un ciclo sulla transazione con relativo deadlock).
    Devi usare, nel caso sia indispensabile, il BEFORE INSERT, e solo da una certa versione (che francamente non ricordo), per modificare la tabella X nel trigger su X

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Aggiornamento con update table
    Da rbarbato nel forum Visual Basic .Net
    Risposte: 2
    Ultimo Post: 16-09-2016, 04:37
  2. [Borland] Errore "compiler table limit exceeded in function..."
    Da spauracchio_crociato nel forum C/C++
    Risposte: 1
    Ultimo Post: 05-12-2013, 14:39
  3. JOIN tra table
    Da stefano89 nel forum Microsoft Access
    Risposte: 7
    Ultimo Post: 08-02-2013, 18:14
  4. [HTML]Tag Table
    Da ScorpionX nel forum HTML, CSS e JavaScript
    Risposte: 4
    Ultimo Post: 01-08-2006, 02:10
  5. [CSS]Table con css
    Da asdf nel forum HTML, CSS e JavaScript
    Risposte: 5
    Ultimo Post: 14-02-2006, 11:19