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

Requêtes MySQL Discussion :

Erreur de syntaxe sur création de table dans un script issu d'un dump


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 2
    Par défaut Erreur de syntaxe sur création de table dans un script issu d'un dump
    Je reçois cette erreur lors de l'exécution de cette requête.
    Erreur
    Requête SQL :
    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
    ---------------------------------------------------------------
    --
    -- Table structure for table apartment_payment
    --
     
    CREATE TABLE IF NOT EXISTS apartment_payment(
    apartment INT UNSIGNED NOT NULL, 
    apartment_holder INT UNSIGNED NOT NULL, 
    next_payment_date DATE,
    payed BOOLEAN NOT NULL DEFAULT False,
    paid_date DATE,
    agent INT UNSIGNED NOT NULL,
    FOREIGN KEY (apartment) REFERENCES apartment(id_apartment),
    FOREIGN KEY (apartment_holder) REFERENCES customer(id_customer),
    FOREIGN KEY (agent) REFERENCES users(id_user)
    )ENGINE="InnoDB"
    MySQL a répondu : Documentation

    #1064 - Erreur de syntaxe près de '---------------------------------------------------------------

    --
    -- Table ' à la ligne 1
    Voici les requêtes complètes exécutées avant l'erreur
    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
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    --
    -- Database: 'rgimmob'
    --
     
    -- --------------------------------------------------------
     
    --
    -- Table structure for table admin
    --
     
    CREATE TABLE IF NOT EXISTS users(
    	id_user INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	first_name varchar(128) NOT NULL,
    	last_name varchar(128) NOT NULL,
    	sex  varchar(1) NOT NULL,
    	birthdate date NOT NULL DEFAULT '1960-08-01',
    	email varchar(128) NOT NULL DEFAULT 'agent@immobilier.org',
    	phone_number varchar(128),
    	login varchar(128) NOT NULL,
    	password varchar(128) NOT NULL DEFAULT 'immobilier',
    	account_type varchar(128),
    	connect_number INT UNSIGNED NOT NULL DEFAULT 0,
    	account_state ENUM('actived', 'disactived') DEFAULT 'actived'
    )ENGINE="InnoDB";
     
    --
    -- Dumping data for table admin
    --
     
    INSERT INTO users VALUES(1, 'Fortune', 'JOHN', 'M', '1988-05-13', 'fjohn@gmail.com', '97793600', 'bamboo', '5f4dcc3b5aa765d61d8327deb882cf99', 'super-admin', 0, 'actived');
     
    -- --------------------------------------------------------
     
    --
    -- Table structure for table customer
    --
     
    CREATE TABLE IF NOT EXISTS customer(
    	id_customer INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	first_name varchar(128) NOT NULL,
    	last_name varchar(128) NOT NULL,
    	sex  varchar(1) NOT NULL,
    	birthdate date NOT NULL DEFAULT '1960-08-01',
    	email varchar(128) NOT NULL DEFAULT 'customer@immobilier.org',
    	phone_number varchar(128),
    	profession VARCHAR(128),
    	customer_type ENUM('apartment_holder', 'house_owner'),
    	customer_password VARCHAR(128) NOT NULL DEFAULT 'c82b5ce5ee635ffcc0521e9705d3d4a0',
    	connect_number INT UNSIGNED NOT NULL DEFAULT 0	
    )ENGINE="InnoDB";
     
    --
    -- Dumping data for table `tblclasses`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Table structure for table home
    --
     
    CREATE TABLE IF NOT EXISTS house(
    	id_house INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	house_name VARCHAR(256),
    	house_description VARCHAR(256),
    	house_localisation VARCHAR(256),
    	house_owner INT UNSIGNED NOT NULL,
           	FOREIGN KEY (house_owner) REFERENCES customer (id_customer)
    )ENGINE="InnoDB";
     
    --
    -- Dumping data for table home
    --
     
     
    -- --------------------------------------------------------
     
    --
    -- Table structure for table apartment
    --
    CREATE TABLE IF NOT EXISTS apartment(
    	id_apartment INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	apartment_type VARCHAR(128),
    	apartment_state ENUM('empty', 'occuped') DEFAULT 'empty',
    	apartment_price INT UNSIGNED NOT NULL DEFAULT 0,
    	apartment_house INT UNSIGNED NOT NULL,
    	FOREIGN KEY (apartment_house) REFERENCES house(id_house)
     
    )ENGINE="InnoDB";
     
    -- --------------------------------------------------------
     
    --
    -- Table structure for table contrat
    --
    CREATE TABLE IF NOT EXISTS contrat(
    	id_contrat INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	apartment INT UNSIGNED NOT NULL,
    	apartment_holder INT UNSIGNED NOT NULL,
    	agent INT UNSIGNED NOT NULL,
    	apartment_caution FLOAT UNSIGNED DEFAULT 0,
    	water_electricity_caution FLOAT UNSIGNED DEFAULT 0,
    	payment_date INTEGER NOT NULL DEFAULT 10,
    	signature_date DATE,
    	FOREIGN KEY (apartment) REFERENCES apartment(id_apartment),
    	FOREIGN KEY (apartment_holder) REFERENCES customer(id_customer),
    	FOREIGN KEY (agent) REFERENCES users(id_user) 
     
    )ENGINE="InnoDB";
     
    ---------------------------------------------------------------
     
    --
    -- Table structure for table apartment_payment
    --
     
    CREATE TABLE IF NOT EXISTS apartment_payment(
    	apartment INT UNSIGNED NOT NULL, 
    	apartment_holder INT UNSIGNED NOT NULL, 
    	next_payment_date DATE,
    	payed BOOLEAN NOT NULL DEFAULT False,
    	paid_date DATE,
    	agent INT UNSIGNED NOT NULL,
    	FOREIGN KEY (apartment) REFERENCES apartment(id_apartment),
    	FOREIGN KEY (apartment_holder) REFERENCES customer(id_customer),
    	FOREIGN KEY (agent) REFERENCES users(id_user)
    )ENGINE="InnoDB";
     
    COMMIT;

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ---------------------------------------------------------------
    Ça m'étonne un peu mais il semble qu'il faille laisser un espace entre les deux premiers tirets qui marquent un commentaire et les suivants qui tracent une séparation dans le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -- -------------------------------------------------------------
    Dans le reste du script, c'est fait ainsi.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    7 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 7 099
    Par défaut
    Salut à tous.

    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
    --------------
    -------------------------------------------------------------
     
     
     
     
    CREATE TABLE IF NOT EXISTS apartment_payment(
    apartment INT UNSIGNED NOT NULL,
    apartment_holder INT UNSIGNED NOT NULL,
    next_payment_date DATE,
    payed BOOLEAN NOT NULL DEFAULT False,
    paid_date DATE,
    agent INT UNSIGNED NOT NULL,
    FOREIGN KEY (apartment) REFERENCES apartment(id_apartment),
    FOREIGN KEY (apartment_holder) REFERENCES customer(id_customer),
    FOREIGN KEY (agent) REFERENCES users(id_user)
    )ENGINE="InnoDB"
    --------------
     
    ERROR 1064 (42000) at line 3: Erreur de syntaxe près de '-------------------------------------------------------------
     
     
     
     
    CREATE TABLE ' à la ligne 1
     
    Appuyez sur une touche pour continuer...
    J'ai repris votre code et j'obtiens la même erreur que vous.

    Citation Envoyé par CinePhil
    Ça m'étonne un peu mais il semble qu'il faille laisser un espace entre les deux premiers tirets
    Tout à fait, un commentaire, c'est deux tirets suivi d'un espace.

    Pour résoudre votre problème, vous mettez en début de ligne "-- ".
    Ce que vous mettez après ce triplé, sera considéré comme du commentaire.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    -- -------
    -- Exemple
    -- -------
    @+

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 009
    Billets dans le blog
    6
    Par défaut
    Encore une fois non conformité du SQL avec MySQmerde !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    7 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 7 099
    Par défaut
    Salut SQLPRO.

    Pouvez-vous détailler votre réponse ?
    A moins de me tromper, sous DB2, le commentaire c'est bien deux tirets suivi d'un espace.
    Est-ce que DB2 ne serait pas conforme aux normes ?
    Idem aussi pour firebird.

    @+

  6. #6
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    J'ai écrit "ça m'étonne un peu" parce que je pensais que deux tirets successifs suffisait pour considérer tout ce qui suit comme un commentaire.
    Dans son livre sur le SQL, SQLPro écrit d'ailleurs ceci :
    Citation Envoyé par SQLPro
    une ligne de commentaire commence par deux tirets et un bloc de commentaires par les caractères /* (début de bloc) et */ (fin de bloc).
    Et il donne l'exemple de requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    /* extrait les informations concernant le film West Side Story 
    depuis la table T_FILM_FLM */
    SELECT FLM_TITRE, FLM_ANNEE, DRURLCOMPLETE(FLM_FILM) AS FLM_MPEG
    FROM T_FILM_FLM
    WHERE FLM_ID = 178 --filtre sur l'identifiant de West Side Story
    On remarque dans la requête que le mot filtre suit immédiatement les deux tirets indiquant un commentaire.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Petit test avec PostgreSQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    -------------------------------
    -- Test requête sur les pays --
    -------------------------------
    SELECT pay_id, pay_nom_francais
    FROM referentiel.tr_pays_pay
    WHERE pay_code_insee = 'AND' --Doit donner l'Andorre
    Résultat :
    6;"Andorre"
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 2
    Par défaut Merci à tous. Probleme resolu
    Bonjour
    Merci à tous. CinePhil merci j'ai effectivement corrigé les tirets comme dans les autres partie du code.

  9. #9
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 669
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    A moins de me tromper, sous DB2, le commentaire c'est bien deux tirets suivi d'un espace.
    Non, en tout cas avec DB2 V11 for Z/OS ce n'est pas le cas, exemple :

    Avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    --------- ceci est un commentaire                   
       select cast('DB2 version '    as char(20))       
              !! ': ' !!                                
              getvariable('SYSIBM.VERSION')             
       from sysibm.sysdummy1
    On obtient (sans message d'erreur) :

  10. #10
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    7 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 7 099
    Par défaut
    Salut à tous.

    @ Escartefigue : pourtant, je me rappelle que je mettais bien deux tirets suivi d'un espace sous DB2 pour le commentaire.
    Il faut dire que j'étais encore dans les versions 5, 6 et 7.

    @ tous : le commentaire sous C comprend bien trois caractères, un /, une * et enfin un espace.
    Et pour fermer le commentaire, on fait un espace, une * et un /

    En tout cas, j'ai toujours procédé ainsi pour les commentaires sous DB2, MySql, FireBird ainsi que le C.

    @+

  11. #11
    Expert éminent
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 218
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    @ Escartefigue : pourtant, je me rappelle que je mettais bien deux tirets suivi d'un espace sous DB2 pour le commentaire.
    Il faut dire que j'étais encore dans les versions 5, 6 et 7.
    Mais du temps où j'utilisais la V1 de DB2 (il y a plus de 30 ans...), ça fonctionnait comme dit escartefigue. Cela dit l’habitude était de séparer les tirets et le commentaire par un ou plusieurs espaces pour que ça fasse plus soigné.

  12. #12
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    7 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 7 099
    Par défaut
    Salut Fsmrel.

    Je me rappelle pourtant que plusieurs tirets consécutifs provoquaient une erreur.
    Mais vu que cela remonte aux origines de DB2, je n'ai plus un souvenir exacte de ce problème.
    Et comme la plupart du temps, à cette époque, j'utilisais DB2 dans le cobol, le commentaire était celui du cobol, et non du DB2 que j'utilisais.

    @+

  13. #13
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 669
    Billets dans le blog
    10
    Par défaut
    Nous sommes dans un débat d'anciens, voire de vénérables

    Gaffe je suis capable de vous parler de bases réseau, hiérarchique ou pire de VSAM si vous insistez

  14. #14
    Expert éminent
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 218
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    Salut SQLPRO.

    Pouvez-vous détailler votre réponse ?
    A moins de me tromper, sous DB2, le commentaire c'est bien deux tirets suivi d'un espace.
    Est-ce que DB2 ne serait pas conforme aux normes ?
    Idem aussi pour firebird.
    Artemus, sache que SQLpro a entièrement raison. Et DB2 est conforme à la norme, les deux tirets peuvent être suivis par n’importe quel caractère. L’obligation de l’espace c’est chez MySQL.

    Ce que dit la norme ISO (voir par exemple ici) :

    Page 136

    <comment> ::=
        <simple comment>
        | <bracketed comment>
    
        <simple comment> ::= <simple comment introducer> [ <comment character>... ] <newline>
        <simple comment introducer> ::= <minus sign><minus sign>
    
        <bracketed comment> ::=
            <bracketed comment introducer>
            <bracketed comment contents>
            <bracketed comment terminator>
    
        <bracketed comment introducer> ::= /*
    
        <bracketed comment terminator> ::= */
    
        <bracketed comment contents> ::= !! See the Syntax Rules
            [ { <comment character> | <separator> }... ]
    
        <comment character> ::=
        <nonquote character>
        | <quote>
    
        <newline> ::= !! See the Syntax Rules

    Page 139

    8) There shall be no <separator> separating the <minus sign>s of a <simple comment introducer>.


    Pour leur part, dans A Guide to the SQL Standard, Fourth Edition, C.J. Date et Hugh Darwen confirment :

    « A comment consists of two immediately adjacent hyphens (“--”), followed by any sequence of zero or more characters (not necessarily SQL language characters), terminating with a newline marker. »

  15. #15
    Expert éminent
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 218
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    Gaffe je suis capable de vous parler de bases réseau, hiérarchique ou pire de VSAM si vous insistez
    En parlant de VSAM, Capitaine, tu fais d’une pierre deux coups, car tu parles en même temps des index de SQL Server, plus précisément de ses index « non clusters », qui sont à l’image des index secondaires VSAM !

    Vois ici (mot-clé : la vachette Zaza) et à partir de (je me suis calé sur DB2 V5, et l’organisation physique des index a dû évoluer, mais c’était le bon temps ! )

  16. #16
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    7 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 7 099
    Par défaut
    Salut à tous.

    Citation Envoyé par Escartefigue
    Nous sommes dans un débat d'anciens, voire de vénérables
    Il est fort probable que je ne me souvienne plus avec exactitude l'anomalie que j'ai rencontré sous DB2.
    Il faut dire que cela remonte à trente ans.

    Citation Envoyé par Escartefigue
    Gaffe je suis capable de vous parler de bases réseau, hiérarchique ou pire de VSAM si vous insistez
    Non merci, j'ai assez pratiqué durant mon activité professionnelle pour ne plus avoir l'envie de revenir dessus.
    De plus, je n'ai plus la possibilité de tester cela, voire même d'installer DB2 sur mon ordinateur personnel.
    Je préfère de loin, tester ce que j'ai installé sur mon ordinateur (MySql, MariaDB, FireBird et Microsoft SQL Server) et d'avoir des discussions autour de la bonne façon de procéder aussi bien sur la modélisation que sur des aspects techniques, voire aussi la faisabilité.

    Il est fort probable, comme tout à chacun, d'avoir encore de mauvaises pratiques.

    Citation Envoyé par Fsmrel
    Artemus, sache que SQLpro a entièrement raison.
    Je ne dis pas le contraire, j'aurai voulu, de sa part, avoir les précisions que vous, Fsmrel, vous nous avez communiqué dans votre message. Sur ce point, je vous remercie.

    Citation Envoyé par Fsmrel
    Et DB2 est conforme à la norme, les deux tirets peuvent être suivis par n’importe quel caractère.
    SQLPRO m'a souvent fait comprendre que (son préféré) c'est Microsoft SQL Server qui est le SGBDR le plus normalisé.
    J'ai débuté avec des SGBD comme Socrate, DL1, IMS, IDS II (Bull) et DB2, il y a fort longtemps, les aspects de conformités, on s'en foutait royalement à l'époque.
    Tout ce qui importait, se résumait à comment faire pour résoudre un problème.
    Il n'y avait rien d'académique, juste du bidouillage qui fonctionnait et qui satisfaisait tout le monde.

    Citation Envoyé par Fsmrel
    L’obligation de l’espace c’est chez MySQL.
    Que MySql respecte ou pas les normes, je m'en balance complètement.
    Ce qui est important pour l'utilisateur, est de savoir comment résoudre son problème.
    Si maintenant, on passe à FireBird, c'est un autre SGBDR, avec une autre façon de faire.

    L'utilisateur ne va pas s'arrêter à un problème de norme car son problème ne se pose pas là, mais bien dans la faisabilité.
    Sinon, nous aurons tous la même démarche, comme SQLPRO, à considérer qu'il n'y a point de vie en dehors de Microsoft SQL Server.
    Et de critiquer le pauvre MySql qui est là, pour répondre à d'autres besoin que Microsoft SQL Server.
    C'est comme si on demandait à la grenouille de se faire aussi grosse que le bœuf !
    Je rappelle que le bœuf n'est pas une grenouille, au cas où cela aurait échappé à certain.

    @+

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

Discussions similaires

  1. [MySQL] erreur dans cette requete?
    Par sybil dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/04/2009, 09h52
  2. Réponses: 3
    Dernier message: 21/05/2008, 17h37
  3. impossible de trouver l'erreur dans cette requete
    Par laurent.w dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/01/2007, 11h38
  4. impossible de trouver l'erreur dans cette requete
    Par laurent.w dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 05/01/2007, 16h57

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