IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PostgreSQL Discussion :

Adaptation d'un script [9.2]


Sujet :

PostgreSQL

  1. #1
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut Adaptation d'un script


    Je viens d'acquérir ce livre Synthex SQL 4e mais le script ci-dessous me renvoie des erreurs. Je ne sais pas vraiment à partir de quel SGBDR il a été fait (Oracle il me semble) il a été créé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    -- création de la base 
    CREATE DATABASE B_FORUM ; 
     
    -- création du schéma dans la base de données 
    CREATE SCHEMA S_NEWS ; 
     
    -- table : T_UTILISATEUR_USR 
    CREATE TABLE S_NEWS.T_UTILISATEUR_USR 
    ( USR_ID INTEGER NOT NULL PRIMARY KEY, 
     USR_MAIL VARCHAR(256) NOT NULL, 
     USR_TITRE CHAR(6) NULL DEFAULT ‘M.’ 
     CHECK (USR_TITRE IN (‘M.’, ‘Mlle.’, ‘Mme.’)), 
     USR_NOM CHAR(32) NOT NULL, 
     USR_PRENOM VARCHAR(32) NULL, 
     USR_ORGANISATION VARCHAR(128) NULL) 
     
    -- table : T_FORUM_FRM 
    CREATE TABLE S_NEWS.T_FORUM_FRM 
    ( FRM_ID INTEGER NOT NULL PRIMARY KEY, 
     FRM_NOM CHAR(64) NOT NULL, 
     FRM_SUJET VARCHAR(256) NULL, 
     FRM_DATE_CREATION TIMESTAMP NOT NULL) 
     
    -- table : T_FOURNINET_FAI 
    CREATE TABLE S_NEWS.T_FOURNINET_FAI 
    ( FAI_ID INTEGER NOT NULL PRIMARY KEY, 
     FAI_NOM CHAR(64) NOT NULL) 
     
    -- table : T_J_ABONNE_ABN 
    CREATE TABLE TJ_ABONNE_ABN 
    ( USR_ID INTEGER NOT NULL, 
     FAI_ID INTEGER NOT NULL, 
     CONSTRAINT PK_ABN PRIMARY KEY (USR_ID, FAI_ID), 
     CONSTRAINT FK_ABN_FAI FOREIGN KEY (FAI_ID) 
     REFERENCES S_NEWS.T_FOURNINET_FAI (FAI_ID), 
     CONSTRAINT FK_ABN_USR FOREIGN KEY (USR_ID) 
     REFERENCES S_NEWS.T_UTILISATEUR_USR (USR_ID)) 
     
    -- table : T_J_INSCRIT_ISC 
    CREATE TABLE S_NEWS.T_J_INSCRIT_ISC 
    ( USR_ID INTEGER NOT NULL, 
     FRM_ID INTEGER NOT NULL, 
     ISC_MOMENT TIMESTAMP NOT NULL, 
     CONSTRAINT PK_ISC PRIMARY KEY (USR_ID, FRM_ID), 
     CONSTRAINT FK_ISC_FRM FOREIGN KEY (FRM_ID) 
     REFERENCES S_NEWS.T_FORUM_FRM (FRM_ID), 
     CONSTRAINT FK_ISC_USR FOREIGN KEY (USR_ID) 
     REFERENCES S_NEWS.T_UTILISATEUR_USR (USR_ID)) 
     
    -- table : T_SERVEUR_SRV 
    CREATE TABLE S_NEWS.T_SERVEUR_SRV 
    ( SRV_ID INTEGER NOT NULL PRIMARY KEY, 
     FAI_ID INTEGER NOT NULL, 
     SRV_ADR_IP VARCHAR(15) NOT NULL, 
     SRV_NOM VARCHAR(256) NOT NULL, 
     CONSTRAINT FK_SRV_FAI FOREIGN KEY (FAI_ID) 
     REFERENCES S_NEWS.T_FOURNINET_FAI (FAI_ID))
     
     
    -- table : T_J_RECENSE_RCS 
    CREATE TABLE S_NEWS.T_J_RECENSE_RCS 
    ( SRV_ID INTEGER NOT NULL, 
     FRM_ID INTEGER NOT NULL, 
     CONSTRAINT PK_RCS PRIMARY KEY (SRV_ID, FRM_ID), 
     CONSTRAINT FK_RCS_FRM FOREIGN KEY (FRM_ID) 
     REFERENCES S_NEWS.T_FORUM_FRM (FRM_ID), 
     CONSTRAINT FK_RCS_SRV FOREIGN KEY (SRV_ID) 
     REFERENCES S_NEWS.T_SERVEUR_SRV (SRV_ID)) 
     
    --- table : T_NEWS_NEW 
    CREATE TABLE S_NEWS.T_NEWS_NEW 
    ( NEW_ID INTEGER NOT NULL PRIMARY KEY, 
     NEW_ID_PERE INTEGER NULL, 
     USR_ID INTEGER NOT NULL, 
     FRM_ID INTEGER NOT NULL, 
     NEW_MOMENT TIMESTAMP NOT NULL, 
     NEW_GLOBAL_ID CHAR(36) NOT NULL, 
     NEW_TITRE CHAR(256) NOT NULL, 
     NEW_TEXT CLOB(2 GB) NULL, 
     CONSTRAINT FK_NEW_FRM FOREIGN KEY (FRM_ID) 
     REFERENCES S_NEWS.T_FORUM_FRM (FRM_ID), 
     CONSTRAINT FK_NEW_USR FOREIGN KEY (USR_ID) 
     REFERENCES S_NEWS.T_UTILISATEUR_USR (USR_ID), 
     CONSTRAINT FK_NEW_NEW FOREIGN KEY (NEW_ID_PERE) 
     REFERENCES S_NEWS.T_NEWS_NEW (NEW_ID)) 
     
    -- table : T_FICHIER_FIC 
    CREATE TABLE S_NEWS.T_FICHIER_FIC 
    ( FIC_ID INTEGER NOT NUL PRIMARY KEY, 
     NEW_ID INTEGER NOT NULL, 
     FIC_NOM VARCHAR(128) NOT NULL, 
     FIC_TAILLE_O INTEGER NOT NULL, 
     CONSTRAINT FK_FIC_NEW FOREIGN KEY (NEW_ID) 
     REFERENCES S_NEWS.T_NEWS_NEW (NEW_ID))
    Je suis sur Postgres 9.3 installé d'aujourd'hui et lié à Easyphp pour utiliser PhpPgAdmin sur le serveur Apache. Je ne connais pas du tout les différences entre Postgres et les autres donc si quelqu'un peut me donner une version pour Postgres. La première erreur que je soupçonne (Au départ, l'erreur était sur la création de la base elle-même puis du schéma que j'ai alors créé moi-même grâce à l'interface de PhpPgAdmin) c'est lors de la création de la première table au niveau de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CHECK (USR_TITRE IN (‘M.’, ‘Mlle.’, ‘Mme.’)),
    Mais cela peut être autre chose. Si un expert peut me donner la solution..


    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  2. #2
    Membre éprouvé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonjour,

    Deux problèmes avec ton script :
    - Les chaînes de caractères sont entourée par des simple quote (' : touche SHIFT+4) d'où ton problème avec USR_TITRE
    - CBLOB correspond apparemment à TEXT (je ne connais pas)


    Ceci à l'air de passer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
    -- création de la base 
    -- CREATE DATABASE B_FORUM ; 
     
    -- création du schéma dans la base de données 
    CREATE SCHEMA S_NEWS ; 
     
    -- table : T_UTILISATEUR_USR 
    CREATE TABLE S_NEWS.T_UTILISATEUR_USR 
    ( USR_ID INTEGER NOT NULL PRIMARY KEY, 
     USR_MAIL VARCHAR(256) NOT NULL, 
     USR_TITRE CHAR(6) NULL DEFAULT 'M.' ,
     CHECK ( USR_TITRE IN ('M.', 'Mlle.', 'Mme.') ) , 
     USR_NOM CHAR(32) NOT NULL, 
     USR_PRENOM VARCHAR(32) NULL, 
     USR_ORGANISATION VARCHAR(128) NULL
    ) ; 
     
    -- table : T_FORUM_FRM 
    CREATE TABLE S_NEWS.T_FORUM_FRM ( 
     FRM_ID INTEGER NOT NULL PRIMARY KEY, 
     FRM_NOM CHAR(64) NOT NULL, 
     FRM_SUJET VARCHAR(256) NULL, 
     FRM_DATE_CREATION TIMESTAMP NOT NULL
    ) ; 
     
    -- table : T_FOURNINET_FAI 
    CREATE TABLE S_NEWS.T_FOURNINET_FAI( 
     FAI_ID INTEGER NOT NULL PRIMARY KEY, 
     FAI_NOM CHAR(64) NOT NULL
    ) ; 
     
    -- table : T_J_ABONNE_ABN 
    CREATE TABLE TJ_ABONNE_ABN ( 
     USR_ID INTEGER NOT NULL, 
     FAI_ID INTEGER NOT NULL, 
     CONSTRAINT PK_ABN PRIMARY KEY (USR_ID, FAI_ID), 
     CONSTRAINT FK_ABN_FAI FOREIGN KEY (FAI_ID) 
     REFERENCES S_NEWS.T_FOURNINET_FAI (FAI_ID), 
     CONSTRAINT FK_ABN_USR FOREIGN KEY (USR_ID) 
     REFERENCES S_NEWS.T_UTILISATEUR_USR (USR_ID)
    ) ; 
     
    -- table : T_J_INSCRIT_ISC 
    CREATE TABLE S_NEWS.T_J_INSCRIT_ISC ( 
     USR_ID INTEGER NOT NULL, 
     FRM_ID INTEGER NOT NULL, 
     ISC_MOMENT TIMESTAMP NOT NULL, 
     CONSTRAINT PK_ISC PRIMARY KEY (USR_ID, FRM_ID), 
     CONSTRAINT FK_ISC_FRM FOREIGN KEY (FRM_ID) 
     REFERENCES S_NEWS.T_FORUM_FRM (FRM_ID), 
     CONSTRAINT FK_ISC_USR FOREIGN KEY (USR_ID) 
     REFERENCES S_NEWS.T_UTILISATEUR_USR (USR_ID)
    ) ; 
     
    -- table : T_SERVEUR_SRV 
    CREATE TABLE S_NEWS.T_SERVEUR_SRV ( 
     SRV_ID INTEGER NOT NULL PRIMARY KEY, 
     FAI_ID INTEGER NOT NULL, 
     SRV_ADR_IP VARCHAR(15) NOT NULL, 
     SRV_NOM VARCHAR(256) NOT NULL, 
     CONSTRAINT FK_SRV_FAI FOREIGN KEY (FAI_ID) 
     REFERENCES S_NEWS.T_FOURNINET_FAI (FAI_ID)
    ) ;
     
     
    -- table : T_J_RECENSE_RCS 
    CREATE TABLE S_NEWS.T_J_RECENSE_RCS ( 
     SRV_ID INTEGER NOT NULL, 
     FRM_ID INTEGER NOT NULL, 
     CONSTRAINT PK_RCS PRIMARY KEY (SRV_ID, FRM_ID), 
     CONSTRAINT FK_RCS_FRM FOREIGN KEY (FRM_ID) 
     REFERENCES S_NEWS.T_FORUM_FRM (FRM_ID), 
     CONSTRAINT FK_RCS_SRV FOREIGN KEY (SRV_ID) 
     REFERENCES S_NEWS.T_SERVEUR_SRV (SRV_ID)
    ) ; 
     
    --- table : T_NEWS_NEW 
    CREATE TABLE S_NEWS.T_NEWS_NEW ( 
     NEW_ID INTEGER NOT NULL PRIMARY KEY, 
     NEW_ID_PERE INTEGER NULL, 
     USR_ID INTEGER NOT NULL, 
     FRM_ID INTEGER NOT NULL, 
     NEW_MOMENT TIMESTAMP NOT NULL, 
     NEW_GLOBAL_ID CHAR(36) NOT NULL, 
     NEW_TITRE CHAR(256) NOT NULL, 
     --http://wiki.postgresql.org/wiki/Oracle_to_Postgres_Conversion#CLOBs
     NEW_TEXT TEXT DEFAULT NULL, --NEW_TEXT CLOB(2 GB) NULL
     CONSTRAINT FK_NEW_FRM FOREIGN KEY (FRM_ID) 
     REFERENCES S_NEWS.T_FORUM_FRM (FRM_ID), 
     CONSTRAINT FK_NEW_USR FOREIGN KEY (USR_ID) 
     REFERENCES S_NEWS.T_UTILISATEUR_USR (USR_ID), 
     CONSTRAINT FK_NEW_NEW FOREIGN KEY (NEW_ID_PERE) 
     REFERENCES S_NEWS.T_NEWS_NEW (NEW_ID)
    ) ; 
     
    -- table : T_FICHIER_FIC 
    CREATE TABLE S_NEWS.T_FICHIER_FIC ( 
     FIC_ID INTEGER NOT NULL PRIMARY KEY, -- NOT NUL
     NEW_ID INTEGER NOT NULL, 
     FIC_NOM VARCHAR(128) NOT NULL, 
     FIC_TAILLE_O INTEGER NOT NULL, 
     CONSTRAINT FK_FIC_NEW FOREIGN KEY (NEW_ID) 
     REFERENCES S_NEWS.T_NEWS_NEW (NEW_ID)
    ) ;

  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Ok merci, je testerais ça se coir
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Ok , j'avais pas fait attention à ce détail. Cela dit, je pense que c'est PhpPgAdmin qui déconne un peu car ça me renvoyais quand même des erreurs mais ça passe sans soucis sur PgAdmin 3


    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Adaptation d'un script à plusieurs div
    Par chpe1 dans le forum jQuery
    Réponses: 3
    Dernier message: 19/10/2013, 01h02
  2. Adapter le 2 scripts php ,pour un redimensionnement d'image
    Par artandsports dans le forum Langage
    Réponses: 2
    Dernier message: 02/10/2009, 18h03
  3. [E-03] Besoin d'aide pour l'adaptation d'un script vba sur excel
    Par Tinien dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/02/2009, 11h17
  4. Ajouter une ligne à un tableau (adaptation d'un script existant)
    Par beegees dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/10/2008, 11h04
  5. Adaptation d'un script proxy web (Glype)
    Par colin.sauvanet dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 29/05/2008, 15h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo