help su richiamo procedura | SQL & MySQL

Topic: Pubblico - Composto da 5 Posts di 2 Utenti.

27 Settembre, 2011 10:45 #1
gelmirifo
Utente

gelmirifo
Registrato: Sep, 2011
Posts: 3
Offline

ciao ragazzi,

sono alle prime armi con SQL e ho questo problema:

ho creato una tabella anagrafica con campi anagrafica_id,eta,nome.
Ho inserito nella tabella 3 nomi con relativa eta'

poi ho creato per esercizio una procedura cosi' fatta:
delimiter //
CREATE PROCEDURE maggiore_eta (IN eta INT)
BEGIN
DECLARE stato VARCHAR(255);
IF eta > 17 THEN SET stato="maggiorenne";
ELSE SET stato="minorenne";
END IF;
INSERT INTO anagrafica VALUES (stato);
END; //

ora se faccio CALL maggiore_eta(numero) mi da il seguente errore:
ERROR 1136 (21S01): Column count doesn't match value count at row 1

dove sta l'errore??

grazie a chi mi aiutera'....

27 Settembre, 2011 11:20 #2
fuser
Utente

fuser
Registrato: Aug, 2011
Posts: 86
Offline

La insert è sbagliata, non gli dici in quale colonna deve inserire stato.
E comunque credo che tu volessi usare un update...

27 Settembre, 2011 11:26 #3
gelmirifo
Utente

gelmirifo
Registrato: Sep, 2011
Posts: 3
Offline

no il campo stato non esiste nella tabella anagrafica e con la procedura lo volevo aggiungere quindi dovrebbe andar bene INSERT, no?

28 Settembre, 2011 10:25 #4
gelmirifo
Utente

gelmirifo
Registrato: Sep, 2011
Posts: 3
Offline

nessuno che mi sappia rispondere?

28 Settembre, 2011 21:55 #5
fuser
Utente

fuser
Registrato: Aug, 2011
Posts: 86
Offline

La insert è sbagliata. Non serve ad aggiungere una colonna, ma una riga.

Condividi su:

Loggati o Registrati per replicare