comando delimier ? | La nostra community

Topic: Pubblico - Composto da 3 Posts di 3 Utenti.

28 Gennaio, 2010 20:22 #1
fabcri
Utente

fabcri
Registrato: Dec, 2009
Posts: 22
Offline

uso i seguenti comandi per creare una procedura:

 1use dbcassa;
 2DROP PROCEDURE IF EXISTS ricerca_articoli;
 3DELIMITER //
 4CREATE PROCEDURE ricerca_articoli(IN cAzi VARCHAR(6), IN cTipo VARCHAR(4), IN cTesto VARCHAR(200) )
 5BEGIN
 6 CASE cTipo
 7  WHEN 'RIC1' THEN SELECT * FROM a01_art WHERE azienda = cAzi AND cba = cTesto;
 8  WHEN 'RIC2' THEN SELECT * FROM a01_art WHERE azienda = cAzi AND articolo      LIKE cTesto ORDER BY articolo;
 9  WHEN 'RIC3' THEN SELECT * FROM a01_art WHERE azienda = cAzi AND descrizione   LIKE cTesto  ORDER BY articolo;
10 END CASE;
11END;
12// DELIMITER ;
Ottengo sempre errore con alla riga in cui trovo DELIMIER // ma come si usa ?

Ultima modifica 11 Luglio, 2010 01:16 di root

28 Gennaio, 2010 21:48 #2
root
Amministratore

root
Registrato: Jul, 2008
Posts: 60
Offline

Ciao user:”fabcri”,

Mi son permesso di modificare il post per far visualizzare bene il codice, ti consiglio nell’editor del post usare il tasto C e scrivere il linguaggio che stai usando nel CLASS .. esempio

class=”SQL”

P.S.

Per il Delimiter ad occhio e croce direi che sbagli in chiusura

END// DELIMITER ;

Saluti user:”root”

28 Gennaio, 2010 23:35 #3
Sante Caserio
Moderatore

Sante Caserio
Registrato: Jul, 2008
Posts: 99
Offline

delimiter è un comando del client, che serve a dire: “la sequenza di caratteri che delimita questa istruzione è //”. In questo modo il delimitatore non sarà più il punto e virgola, e quando usi un punto e virgola dentro la procedura il client non invierà immediatamente l’istruzione ancora incompleta al server. Questo significa anche che alla fine della procedura non devi e non puoi usare il punto e virgola.

 1use dbcassa;
 2DROP PROCEDURE IF EXISTS ricerca_articoli;
 3DELIMITER //
 4CREATE PROCEDURE ricerca_articoli(IN cAzi VARCHAR(6), IN cTipo VARCHAR(4), IN cTesto VARCHAR(200) )
 5BEGIN
 6  CASE cTipo
 7    WHEN 'RIC1' THEN SELECT * FROM a01_art WHERE azienda = cAzi AND cba = cTesto;
 8    WHEN 'RIC2' THEN SELECT * FROM a01_art WHERE azienda = cAzi AND articolo      LIKE cTesto ORDER BY articolo;
 9    WHEN 'RIC3' THEN SELECT * FROM a01_art WHERE azienda = cAzi AND descrizione   LIKE cTesto  ORDER BY articolo;
10  END CASE;
11END
12//

Ultima modifica 11 Luglio, 2010 01:16 di Sante Caserio

Condividi su:

Loggati o Registrati per replicare