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 Oracle Discussion :

[SQL] Timestamp et interval


Sujet :

SQL Oracle

  1. #1
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut [SQL] Timestamp et interval
    Bonjour à tous.

    J'essaye de créer une requête insert basée sur un select avec des datatype timestamp et y ajouter des interval.

    Le simple select fonctionne.
    Mais une fois que construit l'insert basé sur ce sélect, ça foire.
    Le problème vient de l'intervalle.
    Je sais c'est surement tout con mais je trouve pas.

    Voici la DDL (table et séquence) de la table

    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
    REM START EPSS EPSS_MONITOR
     
      CREATE TABLE "EPSS"."EPSS_MONITOR" 
       (	"ID" NUMBER, 
    	"START_TIME" TIMESTAMP (6), 
    	"END_TIME" TIMESTAMP (6), 
    	"DESCRIPTION" VARCHAR2(200 CHAR), 
    	"TIME_SPENT" NUMBER, 
    	"CHECK_OK" VARCHAR2(20 CHAR)
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "EPSS_DATA" ;
     
    REM END EPSS EPSS_MONITOR
     
    REM START EPSS EPSS_MONITOR
     
       COMMENT ON TABLE "EPSS"."EPSS_MONITOR"  IS 'used internally to store the time spent by the monitoring station to submit a proposal without taking into account the network load.';
     
    REM END EPSS EPSS_MONITOR
     
    REM START EPSS EPSS_MONITOR_INDEX
     
      CREATE UNIQUE INDEX "EPSS"."EPSS_MONITOR_INDEX" ON "EPSS"."EPSS_MONITOR" ("ID")
      PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "EPSS_INDEX" ;
     
    REM END EPSS EPSS_MONITOR_INDEX
     
    The sequence:
     
     
    REM START EPSS EPSS_PERFMON
     
       CREATE SEQUENCE  "EPSS"."EPSS_PERFMON"  MINVALUE 1 MAXVALUE 99999999999 INCREMENT BY 1 START WITH 116934 CACHE 20 ORDER  NOCYCLE ;
     
    REM END EPSS EPSS_PERFMON
    Et voici la requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select
      'insert into epss_monitor (id, start_time, end_time, description, time_spent, check_ok) 
        values (epss_perfmon.nextval, timestamp '''||start_time + interval '''1''' month ||''', timestamp '''||end_time + interval   '''1'''  month ||''','||description||','|| time_spent||','||check_ok||');' 
        from epss_monitor 
        where start_time 
        between to_timestamp ('08-02-2008 09:14:00' ,'DD-MM-YYYY HH24:MI:SS')
        and to_timestamp ('10-02-2008 10:31:00','DD-MM-YYYY HH24:MI:SS') order by start_time
    Le problème survient ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    start_time + interval '''1''' month
    C'est certainement un problème de single quotes. Mais je trouve pas



    Voilà.

    Merci d'avance pour vos réponses.

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Faut mettre des () pour encadrer les opérations lors de concaténations de chaines.

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Bonjour, tu as ' || (annee - 1970) ||' ans';

  3. #3
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut
    Citation Envoyé par McM Voir le message
    Faut mettre des () pour encadrer les opérations lors de concaténations de chaines.

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Bonjour, tu as ' || (annee - 1970) ||' ans';
    Quand je le disais que c'était certainement un bétise.

    En tout cas merci beaucoup de ton aide McM

    Problème résolu.

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Pense au tag

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

Discussions similaires

  1. ora-01830 avec donnee de type timestamp et interval
    Par JUSTIN Loïc dans le forum Oracle
    Réponses: 2
    Dernier message: 21/08/2006, 13h57
  2. [SQL][Timestamp] obtenir une date GMT
    Par JeffK dans le forum Oracle
    Réponses: 9
    Dernier message: 20/07/2006, 17h26
  3. utilisation de java.sql.Timestamp
    Par santana2006 dans le forum JDBC
    Réponses: 2
    Dernier message: 10/07/2006, 12h36
  4. [SQL] Timestamp et anniversaire
    Par krfa1 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/06/2006, 12h24
  5. [PL/SQL] question sur interval
    Par Michael# dans le forum Oracle
    Réponses: 9
    Dernier message: 01/09/2005, 10h54

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