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 :

Sequence avec l'année courante


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 12
    Points : 6
    Points
    6
    Par défaut Sequence avec l'année courante
    Bnj à tous
    je vaudrai crée une sequence comme suite :
    L'année courante + un nombre séquentiel sur 9 position qui s'incrémente autotiquement.
    merci à tous

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE SEQUENCE masequence;
     
    SELECT TO_CHAR(sysdate || masequence.nextval) ...
    On n'est pas là pour faire ton boulot, donc la prochaine fois merci de préciser ce qui te manque pour avancer

  3. #3
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Le mieux serait d'appeler une fonction sur la séquence. Un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT MonPackage.GenereNombre(masequence.nextval) FROM DUAL
    Et dans ta fonction tu récupères l'année courante, tu manipules le nombre reçu en paramètre pour le mettre TOUJOURS sur 9 digits et tu retournes le tout.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    une fonction qui fait un nextval ??? C'est quoi l'intérêt ?

    Je rappelle aussi qu'on peut donner une valeur max à une séquence, ici ce sera 999999999

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    declare
    a number;
    n number;
     
    begin
    select max(NomTable.champ1 mod 100000000)+1 into a from NomTable;
     
    if a is null then a:=1;
    end if;
     
    n:=100000000+ to_number(to_char(sysdate,'yyyy'))*10000+a;
    insert into NomTable(champ1) values(n);
    end;
    voila ce que j'ai fait moi ; mais sa marche pas
    ce que je veut c'est d'inserer directement la valeur du champ1.
    mais sa ne donne rien

  6. #6
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Elle est où ta séquence là ??

    Reprenons à 0. Tu as quoi, tu veux quoi et comment ?
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/06/2012, 09h05
  2. Requête avec critère Année Courante
    Par maxime350 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 26/05/2008, 17h56
  3. [batch] fichier txt avec l'année en titre
    Par Adren dans le forum Windows
    Réponses: 7
    Dernier message: 03/08/2006, 21h29
  4. Problem avec l'utilisateur courant dans SLQ
    Par soulsidibe dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/05/2006, 14h02
  5. listage de triggers/sequences avec sql plus
    Par stross dans le forum Oracle
    Réponses: 52
    Dernier message: 20/04/2004, 15h41

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