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

Oracle Discussion :

[Oracle 9.1] Plantage update SQL et Timestamp


Sujet :

Oracle

  1. #1
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 156
    Points : 85
    Points
    85
    Par défaut [Oracle 9.1] Plantage update SQL et Timestamp
    Bonjour,

    Ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    update RDD_CPT_RND set 
    NOM_TABLE = 'RDD_ASS', 
    DATE_ETP2 = 06/10/05 11:00:24,649751000 +02:00, 
    NBR_LIG_ETP2 = 0, 
    NBR_LIG_RJT_ETP2 = 0 
    where NUM_CMR = 9
    Plante lamentablement... Je pense que le souci est lié au timestamp. En fait, ci-dessus, c'est la requête exécutée réellement. Dans mon code PL/SQL, j'utilise la méthode CURRENT_TIMESTAMP...

    Le message renvoyé est le suivant :

    ORA-00933: La commande SQL ne se termine pas correctement
    ORA-06512: à ligne 65
    Merci, Frédéric

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Il faut que tu utilises to_timestamp
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96540/functions147a.htm#999665

    update RDD_CPT_RND set
    NOM_TABLE = 'RDD_ASS',
    DATE_ETP2 = to_timestamp('06/10/05 11:00:24,649751000 +02:00', 'DD/MM/YY ...') -- format a compléter
    NBR_LIG_ETP2 = 0,
    NBR_LIG_RJT_ETP2 = 0
    where NUM_CMR = 9

  3. #3
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 156
    Points : 85
    Points
    85
    Par défaut
    Merci...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    to_timestamp(CURRENT_TIMESTAMP, 'DD/MM/YYYY HH24:MI:SS')
    La suite des opérations me donne :

    ORA-01830: données surnuméraires après la conversion correcte d'une chaîne en
    entrée
    ORA-06512: à ligne 64
    Frédéric

  4. #4
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Non tu n'as pas besoin de faire to_timestamp sur current_timestamp. C'est comme si tu faisais to_date sur sysdate

    J'avais compris que cela fonctionnait en PL et que c'était lorsque tu exécutais la requête que tu as donné sous SQL*Plus que cela plantait. Alors si tu exécutes sous SQL*Plus la requête suivante cela fonctionne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    update RDD_CPT_RND set 
    NOM_TABLE = 'RDD_ASS', 
    DATE_ETP2 = current_timestamp,
    NBR_LIG_ETP2 = 0, 
    NBR_LIG_RJT_ETP2 = 0 
    where NUM_CMR = 9;
    Sinon merci d'indiquer le message d'erreur.

  5. #5
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 156
    Points : 85
    Points
    85
    Par défaut
    La requête SQL est bonne et pourtant, depuis le script PL/SQL, ça ne fonctionne pas. Je vous écris les détails ci dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    requete := 'update RDD_CPT_RND set DATE_ETP2 = ' || CURRENT_TIMESTAMP || ', NBR_LIG_ETP2 = ' || SQL%ROWCOUNT || ', NBR_LIG_RJT_ETP2 = 0 where NUM_CMR = ' || tabCmr(i);
    EXECUTE IMMEDIATE requete;
    ORA-00933: La commande SQL ne se termine pas correctement
    ORA-06512: à ligne 66
    Frédéric

  6. #6
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    requete := 'update RDD_CPT_RND set DATE_ETP2 = CURRENT_TIMESTAMP, NBR_LIG_ETP2 = ' || SQL%ROWCOUNT || ', NBR_LIG_RJT_ETP2 = 0 where NUM_CMR = ' || tabCmr(i);

  7. #7
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 156
    Points : 85
    Points
    85
    Par défaut
    C'est tout bon, merci !! J'aurais dû y penser !!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/07/2007, 23h37
  2. [c#/vs2005] UPDATE: SQL -> Oracle
    Par cnguyen dans le forum Oracle
    Réponses: 14
    Dernier message: 05/07/2006, 10h40
  3. Update sql, avec une table à deux colonnes ...
    Par dcz dans le forum Langage SQL
    Réponses: 8
    Dernier message: 04/04/2006, 18h06
  4. [Oracle 9.1] Plantage SQL+ à cause d'une requête
    Par ftrifiro dans le forum Oracle
    Réponses: 8
    Dernier message: 04/10/2005, 15h08
  5. Plantage requete SQL simple sous Delphi7/ADO avec Access
    Par tomy29 dans le forum Bases de données
    Réponses: 2
    Dernier message: 25/08/2005, 11h09

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