PDA

View Full Version : [POSTGRESQL]Errore esecuzione insert


braian
15-07-2008, 17:00
Ho creato con pgsql un database pneumatici e due tabelle ma quando tento di fare le inser per queste tabelle mi viene visualizzato un errore. Utilizzo Pgadmin III inserendo il codice nell' apposita area di query e premendo il tasto di esecuzione. L'errore sembra dovuto alla presenza degli spazi all'interno delle stringhe che voglio inserire. Non vorrei che fosse un problema di codifica: al momento della creazione del database ho provato a dargli diversi tipi di codifica ma l' errore persiste... suggerimenti??

ecco il codice:

create database pneumatici;

CREATE TABLE negozio_dt
(
id serial NOT NULL,
regione varchar(255) NOT NULL,
codistat_regione varchar(3) NOT NULL,
provincia varchar(255) NOT NULL,
codistat_provincia varchar(3) NOT NULL,
comune varchar(255),
codistat_comune varchar(255),
indirizzo varchar(255),
CONSTRAINT “negozio_pk” PRIMARY KEY (id)
);
CREATE TABLE periodo_dt
(
id serial NOT NULL,
anno int4 NOT NULL,
mese int4 NOT NULL,
CONSTRAINT time_pk PRIMARY KEY (id)
);
CREATE TABLE vendite_ft
(
id serial NOT NULL,
negozio_id int8 NOT NULL,
periodo_id int8,
n_normali int8,
n_bagnato int8,
n_neve int8,
n_sterrato int8,
profitto_normali int8,
profitto_bagnato int8,
profitto_neve int8,
profitto_sterrato int8,
CONSTRAINT vendite_pk PRIMARY KEY (id),
CONSTRAINT negozio_fk FOREIGN KEY (negozio_id)
REFERENCES negozio_dt (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,
CONSTRAINT periodo_fk FOREIGN KEY (periodo_id)
REFERENCES periodo_dt (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED
);


--QUESTO E' IL CODICE CHE DA ERRORE
Insert into negozio_dt (regione, codistat_regione, provincia, codistat_provincia, comune, codistat_comune, indirizzo) values
(’Regione Liguria’, ‘07′, ‘Provincia di Genova’, ‘010′, ‘Comune di Genova’, ‘025′, ‘Via Mansueto 12′);
Insert into negozio_dt (regione, codistat_regione, provincia, codistat_provincia, comune, codistat_comune, indirizzo) values
(’Regione Liguria’, ‘07′, ‘Provincia di Genova’, ‘010′, ‘Comune di Genova’, ‘025′, ‘Via Jori 2′);
Insert into negozio_dt (regione, codistat_regione, provincia, codistat_provincia, comune, codistat_comune, indirizzo) values
(’Regione Liguria’, ‘07′, ‘Provincia di Genova’, ‘010′, ‘Comune di Genova’, ‘025′, ‘Via Zella 4′);
Insert into negozio_dt (regione, codistat_regione, provincia, codistat_provincia, comune, codistat_comune, indirizzo) values
(’Regione Liguria’, ‘07′, ‘Provincia di Genova’, ‘010′, ‘Comune di Busalla’, ‘003′, ‘Piazza Rossi 4′);
Insert into negozio_dt (regione, codistat_regione, provincia, codistat_provincia, comune, codistat_comune, indirizzo) values
(’Regione Liguria’, ‘07′, ‘Provincia di Savona’, ‘009′, ‘Comune di Savona’, ‘021′, ‘Piazza Verdi 1′);
Insert into negozio_dt (regione, codistat_regione, provincia, codistat_provincia, comune, codistat_comune, indirizzo) values
(’Regione Piemonte’, ‘06′, ‘Provincia di Asti’, ‘014′, ‘Comune di Asti’, ‘001′, ‘Via XX Settembre 3′);
Insert into negozio_dt (regione, codistat_regione, provincia, codistat_provincia, comune, codistat_comune, indirizzo) values
(’Regione Piemonte’, ‘06′, ‘Provincia di Alessandria’, ‘015′, ‘Comune di Alessandria’, ‘001′, ‘Via Torino 4′);
Insert into negozio_dt (regione, codistat_regione, provincia, codistat_provincia, comune, codistat_comune, indirizzo) values
(’Regione Piemonte’, ‘06′, ‘Provincia di Alessandria’, ‘015′, ‘Comune di Alessandria’, ‘001′, ‘Via Martiri della Liberta 3′);

amedeoviscido
15-07-2008, 17:51
Direi che č un problema con il carattere degli apici!!!

Se provi a dare la singola query:
Insert into negozio_dt (regione, codistat_regione, provincia, codistat_provincia, comune, codistat_comune, indirizzo) values
(’Regione Liguria’, ‘07′, ‘Provincia di Genova’, ‘010′, ‘Comune di Genova’, ‘025′, ‘Via Mansueto 12′);

Non succede nulla, mentre se dai questa (da notare gli apici, sono differenti!):
Insert into negozio_dt (regione, codistat_regione, provincia, codistat_provincia, comune, codistat_comune, indirizzo) values
('Regione Liguria', '07', 'Provincia di Genova', '010', 'Comune di Genova', '025', 'Via Mansueto 12');
Funziona perfettamente...

braian
15-07-2008, 19:02
Questo puň essere risolto settando una codifica particolare oppure no?

amedeoviscido
16-07-2008, 20:03
Ti confesso che non ne ho la piů pallida idea ;)

MrEnrich
24-06-2011, 20:55
ciao.. ho il tuo stesso codice..

ma ho prolemi ad inserirlo in mysql..

mi da errore alla creazione della terza tabella..

puoi aiutarmi? grazie..