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

PL/SQL Oracle Discussion :

oracle pl/sql froms builder


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Par défaut oracle pl/sql froms builder
    bonjour ,
    je prepare un pfa sur une gestion de bibliotheque avec php/oracle(froms builder) et je tourne un peu en rond sur l etablissement des etats statistique
    de deux cotes ouvrage et utilisateur .

    voila mes tables utilisateur en association avec etatstat par stat utilisateur.

    table utilisateur

    numutilisateur not null number(38)
    codefiliere number(38)
    numniveau number(38)
    nom not null char(25)
    prenom char(25)
    login char(25)
    motdepasse char(25)
    penalite number(38)


    table statutilisateur

    numetat notnull number(38)
    numutilisateur notnull number(38)
    nbredemandeutil notnull number(38)

    table etatstat

    numetat not null number(38)
    mois date

    table ouvrage

    numouvrage not null number (38)
    categorie char(50)
    titre char(50)
    auteur char(50)
    maisondedition char(50)
    anneepublication char(50)
    etat date
    langue char(50)
    nbreexemplaire number(38)
    nbredisponible number(38)
    status number(38)

    table statouvrage

    numouvrage notnull number(38)
    numetat notnull number(38)
    nbredemandeouvrage number(38)
    totaljourpret number(38)


    j ai fait un ecran sur froms avec ces champs je voudrai afficher l etatstat avec le n°utilisateur et nbreddeutilisateur

    num etat
    mois


    n°utilisateur
    nbreddeutilisateur




    le code


    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
    declare	 
    	var  number(38);
    	v_mois	char(2);
    	nbre	number(12); 
    	 cursor c_utilisateur is
       select * from utilisateur;  
    begin
     
    		if :etatstat.mois='janvier' then
    				v_mois:='01';
     
    		if :etatstat.mois='fevrier' then
    		v_mois:='02';
     
    		if :etatstat.mois='mars' then
    	   	v_mois:='03';
     
    			if :etatstat.mois='avril' then
    				v_mois:='04';
     
    			if :etatstat.mois='mai' then
    				v_mois:='05';
     
    			if :etatstat.mois='juin' then
    				v_mois:='06';
     
    			if :etatstat.mois='juillet' then
    				v_mois:='07';
     
    			if :etatstat.mois='aout' then
    				v_mois:='08';
     
    			if :etatstat.mois='septembre' then
    				v_mois:='09';
     
    			if :etatstat.mois='octobre' then
    				v_mois:='10';
     
    			if :etatstat.mois='novembre' then
    				v_mois:='11';
     
    			if :etatstat.mois='decembre' then
    				v_mois:='12';
     
    	   go_block('statutilisateur');
     
    	   nbre:=0;	   					
     
    	   for enreg in c_utilisateur loop
     
    	       select count(*) into  var
             from emprunt
             where emprunt.numutilisateur = enreg.numutilisateur
             and substr(datepret,4,2)=mois;
     
     
    	       	  nbre:=nbre+1;
     
    	       	  if nbre=1 then
    	       	  	 first_record;
    	       	  else
                   next_record;	       	  	
    	       	  end if;	
     
    	       	  :statutilisateur.NUMUTILISATEUR := enreg.NUMUTILISATEUR;
    	       	  :statutilisateur.NBREDEMANDEUTIL := var;      
     
         end loop;            
    			end ;
    erreur********

    erreur 103,ligne 69,colonne 8
    symbole" ;" rencontre à la place d'un des symboles suivants:
    if

  2. #2
    Membre chevronné Avatar de xdescamp
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 300
    Par défaut
    Merci d'utiliser la balise [ CODE ] (sans les espaces) pour que le code que tu postes soit lisible.
    Ton problème vient du fait qu'il manque les END IF après les IF. Pour améliorer la lisibilité, tu peux utiliser un CASE, ou au moins une structure du type IF...THEN...ELSIF...THEN...END IF;
    Ceci dit, pourquoi es-tu obligé de décoder la valeur d'un item ? Tu dois pouvoir faire ça directement avec une liste de valeurs non ?

    Tant que j'y suis, ton SELECT COUNT(*) me parait bizarre sur la gestion de la date : le champ devrait être de type DATE et tu peux alors utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TO_CHAR(datepret, 'MM') = v_mois

Discussions similaires

  1. import from oracle to sql server
    Par amalch dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/04/2013, 19h45
  2. pilotes odbc pour linux pour attaquer une BD oracle et sql S
    Par mloul dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 08/12/2004, 15h58
  3. Delphi -> Oracle : PL/SQL
    Par kribot dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/06/2004, 13h18
  4. portage oracle pl/SQL -> PostGreSQL
    Par luta dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 26/05/2004, 11h40
  5. PHP + Oracle + PL/ SQL
    Par bchristo dans le forum SQL
    Réponses: 12
    Dernier message: 28/04/2004, 15h49

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