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

Forms Oracle Discussion :

if not exists + create user


Sujet :

Forms Oracle

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 80
    Par défaut if not exists + create user
    bonjour tout le monde
    je developpe une petite application avec oracle forms;
    la première interface est une fenêtre d'authentification, où l'utilisateur saisit son numero et son mot de passe
    on doit d'abord vérifier la validité du son "numero", j'ai utilisé cette instruction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    declare
    al integer;
    begin
    if not exists (select numero from utilisateur where numero=:text_item4) then
    al:=show_alert('test');
    end if;
    end;
    mais un message d'erreur s'affiche :
    fonction ou pseudo-colonne 'exists' peut être utilisée uniquement dans instruction SQL
    comment faire?

    2 eme question:
    j'arrive pas à créer un nouvel utilisateur avec oracle forms (grace aux items_text affichés dans mon bloc de données)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WHEN-BUTTON-PRESSED
     
    create user +' " ':text_item1 +' " ' identified by +' " ':text_item2+' " '
    sachant que le "user name" et le "pass word" commencent par des chiffres

  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
    NOT EXISTS est une instruction SQL. Ce n'est pas du PL/QSL, donc pas utilisable dans une procédure.
    Un SELECT dans du PL/SQL doit obligatoirement être affecté dans une variable par INTO
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT numero INTO v_num 
    FROM utilisateur 
    WHERE numero=:text_item4

  3. #3
    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
    2ème question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE user +' " ':text_item1 +' " ' IDENTIFIED BY +' " ':text_item2+' " '
    1/ Les ordres DDL ne sont pas possible en PL/SQL. Il faut utiliser EXECUTE IMMEDIATE quand c'est basé. Sous forms, il doit y avoir dbms_sql ou un truc dans le genre (ou sinon utiliser une procédure basée qui fait un execute immediate)
    2/ C'est quoi ces +, c'est du java ?

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 80
    Par défaut
    merci McM

    en ce qui concerne la 1ere question, il impossible d'avoir plusieurs colonnes dans une seule variable (j'ai oublié d'ajouter "into" )

    2 eme question:
    est ce qu'il faut créer "EXECUTE IMMEDIATE " dans SQL*Plus et l'appeler dans Forms, parce que je n'ai aucune idée
    merci d'avance

  5. #5
    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
    Tu as ROWNUM poru limiter le nombre d'enreg
    Tu as les exceptions pour gérer les NO_DATA_FOUND, les TOO_MANY_ROWS

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 80
    Par défaut
    merci McM

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

Discussions similaires

  1. AS400 Probleme de Create table if not exists
    Par mczikas dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 24/02/2009, 17h04
  2. Create procedure if not exists ?
    Par mappy dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/07/2008, 17h57
  3. Pb ORA-01435 user does not exist
    Par willoi dans le forum Administration
    Réponses: 2
    Dernier message: 27/12/2006, 13h10
  4. [JGuard]authentication failed.LoginException user does not exist
    Par worldchampion57 dans le forum Sécurité
    Réponses: 1
    Dernier message: 12/05/2006, 10h54
  5. [DB2] create table... if not exists ?
    Par iubito dans le forum DB2
    Réponses: 6
    Dernier message: 23/03/2004, 18h26

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