Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 04/01/2012 23:14:48
- kamusall
- Membre
Problème d'insertion de données dans des tables
J'ai installé postgres sur Windows.
J'ai voulu vous envoyer le fichier SQL mais je ne sais pas comment le faire à partir du forum.
================= ERREUR GÉNÉRÉE ========================================
ERREUR: erreur de syntaxe sur ou près de « 288 »
LINE 105: 288 Kervegan's 2008-06-02 13:50:58.01438
^
********** Erreur **********
ERREUR: erreur de syntaxe sur ou près de « 288 »
État SQL :42601
Caractère : 3919
================ PORTION DE LA REQUÊTE ==============================
DROP TABLE ecrit ;
DROP TABLE interprete ;
DROP TABLE disque ;
DROP TABLE membre ;
DROP TABLE languechanson ;
DROP TABLE chanson ;
DROP TABLE autorisations ;
DROP TABLE langueartiste ;
DROP TABLE langue ;
DROP TABLE droits ;
DROP TABLE genre ;
DROP TABLE etat ;
DROP TABLE artiste ;
CREATE TABLE artiste (
art_num integer NOT NULL PRIMARY KEY,
art_prenom character varying,
art_nom character varying,
art_groupe character varying,
art_modif timestamp without time zone DEFAULT CURRENT_TIMESTAMP);
CREATE TABLE etat (
eta_num integer NOT NULL PRIMARY KEY,
eta_nom character varying);
CREATE TABLE genre (
gen_num integer NOT NULL PRIMARY KEY,
gen_nom character varying,
gen_modif timestamp without time zone DEFAULT CURRENT_TIMESTAMP);
CREATE TABLE droits (
dro_num integer NOT NULL PRIMARY KEY,
dro_nom character varying,
dro_niveau integer);
CREATE TABLE langue (
lan_num character varying NOT NULL PRIMARY KEY,
lan_nom character varying);
CREATE TABLE langueartiste (
laa_langue character varying NOT NULL,
laa_artiste integer NOT NULL,
laa_maternelle boolean DEFAULT true,
PRIMARY KEY (laa_langue, laa_artiste));
CREATE TABLE autorisations (
aut_login character varying NOT NULL PRIMARY KEY,
aut_motdepasse character varying,
aut_nom character varying,
aut_prenom character varying,
aut_droits integer);
CREATE TABLE chanson (
cha_num integer NOT NULL PRIMARY KEY,
cha_titre character varying,
cha_genre integer,
cha_texte character varying,
cha_libre boolean,
cha_modif timestamp without time zone DEFAULT CURRENT_TIMESTAMP);
CREATE TABLE languechanson (
lac_langue character varying NOT NULL,
lac_chanson integer NOT NULL,
lac_principale boolean DEFAULT true NOT NULL,
PRIMARY KEY (lac_langue, lac_chanson, lac_principale));
CREATE TABLE membre (
mem_membre integer NOT NULL,
mem_groupe integer NOT NULL,
mem_debut character varying NOT NULL,
mem_fin character varying NOT NULL,
PRIMARY KEY (mem_membre, mem_groupe, mem_debut, mem_fin));
CREATE TABLE disque (
dis_num integer NOT NULL PRIMARY KEY,
dis_titre character varying,
dis_artiste integer,
dis_annee character varying,
dis_cddb character varying,
dis_anneeachat character varying,
dis_prixachat numeric(8,2),
dis_etat integer,
dis_perdu boolean DEFAULT false,
dis_modif timestamp without time zone DEFAULT CURRENT_TIMESTAMP);
CREATE TABLE interprete (
int_artiste integer NOT NULL,
int_chanson integer NOT NULL,
int_disque integer NOT NULL,
int_numero integer NOT NULL,
PRIMARY KEY (int_artiste, int_chanson, int_disque, int_numero)
);
CREATE TABLE ecrit (
ecr_artiste integer NOT NULL,
ecr_chanson integer NOT NULL,
PRIMARY KEY (ecr_artiste, ecr_chanson));
--
-- PostgreSQL database dump
--
SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;
SET search_path = public, pg_catalog;
--
-- Data for Name: artiste; Type: TABLE DATA; Schema: public; Owner: gonzalez
--
COPY artiste (art_num, art_prenom, art_nom, art_groupe, art_modif) FROM stdin;
288 Kervegan's 2008-06-02 13:50:58.01438
142 U2 2008-03-12 18:33:17
77 Alain Bashung 2008-06-02 14:11:37.495902
289 Choeur des moines de l'abbaye Saint-Pierre de Solesmes 2008-06-02 14:45:10.37554
....
....
=====================================================================
Merci d'avance
Hors ligne
#2 04/01/2012 23:19:43
- gleu
- Administrateur
Re : Problème d'insertion de données dans des tables
pgAdmin ne peut pas exécuter de requête COPY ... FROM stdin via son éditeur de requêtes. Vous devez passer par psql pour exécuter ce script.
Guillaume.
Hors ligne
#3 09/01/2012 14:33:00
- kamusall
- Membre
Re : Problème d'insertion de données dans des tables
Merci d'avoir répondu.
Par ailleurs je n'arrive pas à exécuter mon fichier disques2009V2.sql
Pourtant j'ai changé les droits sur ma partition D et sur le fichier.
commande: discotheque-#\i d:\disques2009V2.sql
J'ai comme message d'erreur:
d: : Permission denied
Merci d'avance.
Dernière modification par kamusall (09/01/2012 14:34:17)
Hors ligne
#4 09/01/2012 14:46:29
- gleu
- Administrateur
Re : Problème d'insertion de données dans des tables
Vous ne devez pas utiliser l'antislash mais le slash. (pas \ mais /)
Guillaume.
Hors ligne
#5 09/01/2012 14:51:00
- kamusall
- Membre
Re : Problème d'insertion de données dans des tables
Super ! Ca marche.
Pourquoi on utilise le slash à la place de l'antislash alors qu'on travaille sur windows ?
Hors ligne
#6 09/01/2012 15:40:51
- gleu
- Administrateur
Re : Problème d'insertion de données dans des tables
L'antislash est généralement un symbole d'échappement. L'utiliser peut poser un certain nombre de problèmes. Par exemple, la commande COPY vous force aussi à utiliser /. Le nom du fichier est compris entre guillemets dans ce cas et est donc sujet à interprétation d'un symbole d'échappement.
Guillaume.
Hors ligne
#7 09/01/2012 15:43:31
- kamusall
- Membre
Re : Problème d'insertion de données dans des tables
Bien compris.
Merci encore.
Hors ligne
Pages : 1