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

SQL Firebird Discussion :

Erreur "Token unknown insert" sur commande sql


Sujet :

SQL Firebird

  1. #21
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    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 134
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Poser des questions est une chose, donner les éléments requis pour pouvoir y répondre en est une autre.
    Une question qui concerne les performances d'une requête doit être accompagnées d'informations telles que :

    La description exacte de toutes les tables concernées par la requête (idéalement le script CREATE TABLE)
    La description exacte des index correspondants (CREATE INDEX)
    Le volume approximatif des tables consultées
    Le nombre de valeurs distinctes pour les critères de filtrage (WHERE) et de JOINTURE (JOIN)
    Eventuellement un extrait du jeu de données pour illustrer le propos

    Idéalement tout ça dans un même envoi, ça évite les allers-retours multiples

  2. #22
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    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 : 6 381
    Points : 19 064
    Points
    19 064
    Par défaut
    Salut à tous.

    Sans un jeu d'essai, difficile de poursuivre la recherche de l'optimisation.
    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
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    CREATE DATABASE '..\Data\Base.fdb' page_size 4096 DEFAULT CHARACTER SET WIN1252;
     
    -- ==========================
    -- Création de la table 'ACH'
    -- ==========================
     
    CREATE TABLE ACH
    ( CAS    Integer NOT NULL,
      DAT      Date         NOT NULL,
      FAC      Varchar(30)  NOT NULL,
      ORD      Integer      NOT NULL,
      ANA      Varchar(20),
      MAT      Varchar(20),
      PRO      Varchar(20),
      DES      Varchar(255),
      QTE      Numeric(14,5),
      MHT      Numeric(14,2),
      COI      Integer,
      PER      Integer,
      DAP      Date,
      CHA      Varchar(255),
      IMA      Varchar(35),
      MON      Numeric(14,2),
      OBS      Varchar(255),
      PUA      Numeric(14,5),
      COIR     Integer,
      DESF     Varchar(200),
      MTB      Numeric(14,5),
      TAU      Numeric(14,2),
      TVA      Numeric(14,5),
      TRE      Numeric(14,2),
      REM      Numeric(14,5),
      UTI      Varchar(50),
      COID     Integer,
      COIF     Integer,
      PUDEV    Numeric(14,6),
      TAUXC    Numeric(14,6),
      FRATRANS Numeric(14,6),
      FRADOU Numeric(14,6),
      FRAMAN Numeric(14,6),
      FRAAUT Numeric(14,6),
      DEVISE Varchar(15),
      FRATRANSP Numeric(14,6),
      PRIMARY KEY (CAS,DAT,FAC,ORD)
    );
     
    -- ==========================
    -- Création de la table 'RED'
    -- ==========================
     
    CREATE TABLE RED
    ( CAS Integer NOT NULL,
      DAT Date    NOT NULL,
      ORD Integer NOT NULL,
      CLT Varchar(10),
      FOU Varchar(10),
      DES Varchar(255),
      REC Numeric(14,2),
      DEP Numeric(14,2),
      SOL Numeric(14,2),
      PRIMARY KEY (CAS,DAT,ORD)
    );
     
    -- ==========================
    -- Création de la table 'PAF'
    -- ==========================
     
    CREATE TABLE PAF
    (
      CAS Integer      NOT NULL,
      DAT Date         NOT NULL,
      ANA Varchar(20)  NOT NULL,
      FAC Varchar(20)  NOT NULL,
      ORD Integer      NOT NULL,
      DEP Numeric(14,2),
      MON Numeric(14,2),
      VER Numeric(14,2),
      RES Numeric(14,2),
      DES Varchar(255),
      MOP Varchar(30),
      DAC Date,
      MTB Numeric(14,2),
      TVA Numeric(14,5),
      REM Numeric(14,5),
      TIM Numeric(14,5),
      PRIMARY KEY (CAS,DAT,ANA,FAC,ORD)
    );
     
    -- ==========================
    -- Création de la table 'PAC'
    -- ==========================
     
    CREATE TABLE PAC
    (
      CAS Integer      NOT NULL,
      DAT Date         NOT NULL,
      ANA Varchar(20)  NOT NULL,
      FAC Varchar(20)  NOT NULL,
      ORD Integer      NOT NULL,
      DEP Numeric(14,2),
      MON Numeric(14,2),
      VER Numeric(14,2),
      RES Numeric(14,2),
      DES Varchar(255),
      MOP Varchar(30),
      DAC Date,
      MTB Numeric(14,2),
      TVA Numeric(14,5),
      REM Numeric(14,5),
      TIM Numeric(14,5),
      BEN Numeric(14,2),
      PRIMARY KEY (CAS,DAT,ANA,FAC,ORD)
    );
     
    -- ==========================
    -- Création de la table 'VEN'
    -- ==========================
     
    CREATE TABLE VEN
    (
      DAT Date           NOT NULL,
      BON Varchar(20)    NOT NULL,
      ORD Integer        NOT NULL,
      ANA Varchar(20),
      PRO Varchar(20),
      DES Varchar(255),
      QTE Numeric(14,5),
      PUV Numeric(18,6),
      MHT Numeric(14,2),
      COI Smallint,
      CDR Numeric(14,5),
      BEN Numeric(14,2),
      FAC Varchar(20),
      HEU Timestamp,
      DEN Numeric(14,5),
      OBS Varchar(255),
      UME Varchar(30),
      ED1 Numeric(14,4),
      ED2 Numeric(14,4),
      ED3 Numeric(14,4),
      QTP Numeric(14,5),
      PUA Numeric(14,5),
      QTD Numeric(14,5),
      QTR Numeric(14,5),
      DAP Date,
      COIR Integer,
      DESCL Varchar(200),
      CHA Varchar(30),
      IMA Varchar(15),
      MTB Numeric(14,5),
      TAU Numeric(14,2),
      TVA Numeric(14,5),
      TRE Numeric(14,2),
      REM Numeric(14,5),
      UTI Varchar(50),
      COID Integer,
      COIF Integer,
      MHTR Numeric(18,6),
      CLTLIV Char(1),
      CPUV Char(1),
      PRIMARY KEY (DAT,BON,ORD)
    );
     
    COMMIT;
     
    -- =======
    -- Requête
    -- =======
     
    INSERT INTO RED (CAS,DAT,CLT,FOU,DEP,REC,DES)
     
    WITH cte AS (  SELECT  2        as CAS,
                           t1.DAT   as DAT,
                           NULL     as CLT,
                           t1.ANA   as FOU,
                           t1.VER   as DEP,
                           NULL     as REC,
                           t2.DESF  as DES
     
                     FROM  PAF as t1
     
                LEFT JOIN  (    SELECT  ANA, MAX(DESF) as DESF
                                  FROM  ACH
                              GROUP BY  ANA
                           ) as t2
                       ON  t2.ANA = t1.ANA
     
                    WHERE  t1.ANA             <> '00000'
                      AND  t1.MOP              = 'ESPECE'
                      AND  COALESCE(t1.VER,0) <> 0
     
                UNION ALL
     
                   SELECT  2        as CAS,
                           t3.DAT   as DAT,
                           t3.ANA   as CLT,
                           NULL     as FOU,
                           NULL     as DEP,
                           NULL     as REC,
                           t4.descl as DES
     
                     FROM  PAC as t3
     
                LEFT JOIN  (    SELECT  ANA,
                                        MAX(DESCL) as descl
                                  FROM  VEN
                              GROUP BY ANA
                           ) as t4
                       ON  t4.ANA = t3.ANA
     
                    WHERE  t3.ANA             <> '00000'
                      AND  t3.MOP              = 'ESPECE'
                      AND  COALESCE(t3.VER,0) <> 0
     
                )
     
    SELECT CAS,DAT,CLT,FOU,DEP,REC,DES FROM cte;
     
    exit;
     
    Appuyez sur une touche pour continuer...
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. [XL-2010] Erreur Objet non valide sur requete SQL
    Par guigui69 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/11/2016, 09h32
  2. Aide sur commande SQL
    Par cdsoft dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/12/2015, 17h33
  3. erreur 3134 sur instruction SQL insert into
    Par tiff13 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/02/2010, 11h28
  4. [AC-2007] Erreur 3134 sur commande SQL
    Par Cagou-77 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/01/2010, 22h25
  5. erreur Token Unknown
    Par bassim dans le forum SQL
    Réponses: 5
    Dernier message: 16/11/2006, 20h03

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