Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [MySQL] Stored routines, Handlers e tabelle inesistenti...

    Ciao a tutti!

    Vi posto una stored functions, tanto per parlare di qualcosa di concreto:

    /** INSERT A VALUE INTO THE HEAP **/
    DROP FUNCTION IF EXISTS `insertValueToHeap` $$
    CREATE FUNCTION `insertValueToHeap` (_name VARCHAR(255), _value VARCHAR(255)) RETURNS INT DETERMINISTIC
    BEGIN
    DECLARE retval INT DEFAULT 1;
    DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET retval = 0;

    DELETE FROM heapSpace WHERE the_name = _name;
    INSERT INTO heapSpace SET the_name = _name, the_value = _value;

    RETURN retval;
    END $$

    L'idea è molto semplice: voglio tentare l'inserimento di un valore all'interno di una tabella che, però, essendo TEMPORARY potrebbe non esistere!
    Creo CONTINUE HANDLER per catturare l'errore 1146 di MySQL (SQLSTATE è '4S...' e non mi ricordo il resto... ) e mi aspetto che, se tutto fila liscio, in uscita retval dovrebbe avere valore di default, ovvero, 1. In caso di rogne, dovrebbe essere settato a zero.

    Ho provato, per disperazione, ad aggiungere anche gli HANDLER SQLWARNING e NOT FOUND: ma non succede niente !

    Se eseguo un semplicissimo - SELECT insertValueToHeap('bingo','bongo')- continuo ad ottenere il mio dannato errore per la tabella che non esiste (a ragione!!!).

    Io ma non ci stò capendo niente!.
    Sante

  2. #2
    Ma proprio niente???

    Sante

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.