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

alter sequence increment by (select..) nombre non valid!?


Sujet :

Sql*Plus Oracle

  1. #21
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT decode(:new.service,'VENTE','V','PIECE','P')||MaSequence.NEXTVAL
    INTO :NEW.macolonne_PK
    FROM DUAL;

  2. #22
    Membre habitué Avatar de scofield
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2006
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2006
    Messages : 179
    Points : 181
    Points
    181
    Par défaut oh
    TROP COOL , le code (je veut dire decode)
    désole de ne pas avoir trouvé tout seule ,ca a l'aire tellement évident .

    Euh.................., sinon avant de mettre le topic résolu.
    vous auriez une ptite idée (je sais que j'exagère) sur la possibilité de faire un trigger , relatif a la date:au changement de moi ou d'anné
    je pourrais appeler la procédure qui réinitialiser la séquence correspondante a cet identifiant .

    exemple au changement d'année : avant P07-815 après P08-001
    la procédure étant résolue dans ce topic. je me disait ,si on pouvait l'appeler dans un trigger befor insert OU ..?(sinon je l fait sur forms promis)

    PS : j'ai mis une séquences pour chaque type de client ,serait- ce pénalisant en terme de perf ? (ou faut que je mette un index sur la colonne type )?

  3. #23
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    ce n'est pas un trigger qu'il te faut mais un job, style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SQL> set autop on 
    SQL> var jobno number 
    SQL> exec dbms_job.submit(:jobno,'begin execute immediate ''drop sequence s'';execute immediate ''create sequence s'';end;',add_months(trunc(sysdate),1),'add_months(trunc(sysdate),1)')
     
    PL/SQL procedure successfully completed.
     
         JOBNO
    ----------
             1
     
    SQL> commit;
     
    Commit complete.
    PS: lis http://oracle.developpez.com/guide/d...ages/dbms_job/

  4. #24
    Membre habitué Avatar de scofield
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2006
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2006
    Messages : 179
    Points : 181
    Points
    181
    Par défaut wazup
    merci ,
    j'ai aussi lu dans ton lien que ISUBMIT ( permettant de mettre le n° du job genre le tien).
    et comme la procédure c'était alter et non drop/create , ça ne change rien?
    pourrai je carrément mettre ça
    CREATE PROCEDURE reinit_Masequence
    ln$nextval number;
    BEGIN
    SELECT MaSequence.NEXTVAL
    INTO ln$nextval
    FROM DUAL;

    execute immediate 'alter sequence Masequence increment by -' || ln$nextval ;

    SELECT MaSequence.NEXTVAL
    INTO ln$nextval
    FROM DUAL;

    execute immediate 'alter sequence Masequence increment by 1'

    END
    DANS LE WHAT? ET MERCI ENCORE HOMIES
    ps: si sysdate + 1 =demain a minuit alors pourquoi sysdate+ 1 + 9/24 ça serait pas apres demain a 9h (eu lieu de demain)?

  5. #25
    Membre habitué Avatar de scofield
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2006
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2006
    Messages : 179
    Points : 181
    Points
    181
    Par défaut hey
    salut ,
    c'est tip top finalement.
    MERCI BAUCOUP
    j'ai mis*** begin ma_procedure; end;*** dans le paramètre what
    et tout le reste a marché impec
    j'ai même testé en changeant la date du system avant d'insérer .RAS

    ...........................
    Désolé d'avoir tardé pour piger

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. ORA-01722: Nombre non valide + sqlloader
    Par damiano84 dans le forum SQL*Loader
    Réponses: 9
    Dernier message: 20/05/2022, 20h09
  2. ORA-01722: Nombre non valide
    Par misa dans le forum Oracle
    Réponses: 4
    Dernier message: 18/12/2007, 15h23
  3. Oracle - Nombre non valide
    Par pado_83 dans le forum JDBC
    Réponses: 2
    Dernier message: 28/09/2006, 15h11
  4. [SQLLDR]ORA-01722: Nombre non valide
    Par syl2095 dans le forum Oracle
    Réponses: 5
    Dernier message: 22/05/2006, 15h42
  5. Réponses: 7
    Dernier message: 07/03/2006, 09h34

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