[Gfoss] inserire nuove righe in una tabelle postgresql

Ciao a tutti sto cercando di inserire alcuni dati in una tabella, ma mi vengono dati alcuni errori:

datageo=# \d dati_movimenti_turistici
Tabella “public.dati_movimenti_turistici”
Colonna | Tipo | Modificatori
--------------±-----------------------±-------------
codice_istat | character varying(6) | not null
1960_1965 | numeric |
1965-1970 | numeric |
1970-1975 | numeric |
1975-1980 | numeric |
1980-1985 | numeric |
1985-1990 | numeric |
1995-2000 | numeric |
2000-2005 | numeric |

datageo=# INSERT INTO dati_movimenti_turistici (codice_istat, 1960_1965) VALUES (004098, 2683);
ERROR: syntax error at or near “1960” at character 53
RIGA 1: …SERT INTO dati_movimenti_turistici (codice_istat, 1960_1965)…
^
datageo=# INSERT INTO dati_movimenti_turistici (codice_istat) VALUES (004098);
ERROR: column “codice_istat” is of type character varying but expression is of type integer
HINT: Devi riscrivere o eseguire un casting dell’espressione

Oltre ad inserire i valori in questo modo è possibile importare una tabella di un foglio di calcolo in una tabella di un database?

Grazie
Luca

Ciao Luca,
1. si' e' possibile importare una tabella che hai in foglio di calcolo.
Ci sono vari modi:

a. se usi phppgadmin puoi importare direttamente nella tabella
precedentemente creata i dati con il pulsante importa, dopo aver salvato
il tuo foglio di calcolo in formato .csv. Attenzione che i campi devono
avere lo stesso ordine nella tabella e nel foglio di calcolo.

b. se vai da riga di comando (psql) puoi:
salvare il tuo foglio di calcolo in .csv e importarlo nella tabella
tramite il comando COPY
http://www.postgresql.org/docs/7.3/interactive/sql-copy.html

2. per gli errori:
a. INSERT INTO dati_movimenti_turistici (codice_istat, 1960_1965)
VALUES (004098, 2683);

visto che codice_istat e' un varchar forse l'errore sta nel fatto che
dovresti mettere gli apici a '004098'.
Prova se e' questo.

Ho visto anche che le date nei tuoi campi non sono sempre scritte uguali
(hai sia - che _) non so se questo puo' crearti confusione perche'
rischi di scriverlo nel modo sbagliato mentre fai le queries.

Per richieste cosi' legate a postgresql consiglio a tutti di iscriversi
alla mailing list italiana di pg

http://lists.psql.it/mailman/listinfo/postgresql-it

ciao
Lia

Luca Delucchi ha scritto:

Ciao a tutti sto cercando di inserire alcuni dati in una tabella, ma mi
vengono dati alcuni errori:

datageo=# \d dati_movimenti_turistici
     Tabella "public.dati_movimenti_turistici"
  Colonna | Tipo | Modificatori
--------------+------------------------+--------------
codice_istat | character varying(6) | not null
1960_1965 | numeric |
1965-1970 | numeric |
1970-1975 | numeric |
1975-1980 | numeric |
1980-1985 | numeric |
1985-1990 | numeric |
1995-2000 | numeric |
2000-2005 | numeric |

datageo=# INSERT INTO dati_movimenti_turistici (codice_istat, 1960_1965)
VALUES (004098, 2683);
ERROR: syntax error at or near "1960" at character 53
RIGA 1: ...SERT INTO dati_movimenti_turistici (codice_istat,
1960_1965)...
                                                            ^
datageo=# INSERT INTO dati_movimenti_turistici (codice_istat) VALUES
(004098);
ERROR: column "codice_istat" is of type character varying but
expression
is of type integer
HINT: Devi riscrivere o eseguire un casting dell'espressione

Oltre ad inserire i valori in questo modo è possibile importare una
tabella
di un foglio di calcolo in una tabella di un database?

Grazie
Luca

------------------------------------------------------------------------

_______________________________________________
Gfoss mailing list
Gfoss@faunalia.com
http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss
  
--
Emilia Venturato
email+jabber: venturato@faunalia.it
www.faunalia.it
Tel: (+39) 347-2770007 Tel+Fax: (+39) 0587-213742
Piazza Garibaldi 5 - 56025 Pontedera (PI), Italy

Il 13/03/07, Emilia Venturato <venturato@faunalia.it> ha scritto:

Ciao Luca,

  1. si’ e’ possibile importare una tabella che hai in foglio di calcolo.
    Ci sono vari modi:

a. se usi phppgadmin puoi importare direttamente nella tabella
precedentemente creata i dati con il pulsante importa, dopo aver salvato
il tuo foglio di calcolo in formato .csv. Attenzione che i campi devono
avere lo stesso ordine nella tabella e nel foglio di calcolo.

b. se vai da riga di comando (psql) puoi:
salvare il tuo foglio di calcolo in .csv e importarlo nella tabella
tramite il comando COPY
http://www.postgresql.org/docs/7.3/interactive/sql-copy.html

  1. per gli errori:
    a. INSERT INTO dati_movimenti_turistici (codice_istat, 1960_1965)
    VALUES (004098, 2683);

visto che codice_istat e’ un varchar forse l’errore sta nel fatto che
dovresti mettere gli apici a ‘004098’.
Prova se e’ questo.

Ho visto anche che le date nei tuoi campi non sono sempre scritte uguali
(hai sia - che _) non so se questo puo’ crearti confusione perche’
rischi di scriverlo nel modo sbagliato mentre fai le queries.

Per richieste cosi’ legate a postgresql consiglio a tutti di iscriversi
alla mailing list italiana di pg

http://lists.psql.it/mailman/listinfo/postgresql-it

Grazie mille, soprattutto per la lista, non sapevo esistesse in italiano, in inglese non saprei da dove incominciare a spiegare gli errori.

ciao
Lia

Ciao
Luca