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

Procedure stockee - Probleme de refresh et Commit


Sujet :

SQL Oracle

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Procedure stockee - Probleme de refresh et Commit
    Bonjour,

    j'ai une procédure stockée qui fonctionne, voici 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
    PROCEDURE inserer_equipement_type_cult (ident IN VARCHAR2 , DETAILS IN VARCHAR2 , NBSALLES IN NUMBER , CARACTYPECULT IN VARCHAR2 , SURFETABCULT IN NUMBER ) AS
      BEGIN
        LOCK TABLE PRU_EQUIPEMENT_TYPE_CULT IN EXCLUSIVE MODE;
            BEGIN
              SELECT MAX(OBJECTID) INTO obid FROM PRU_EQUIPEMENT_TYPE_CULT;
              if obid IS NULL then
                obid := 0;
             else
                obid := obid +1;
            end if;
              INSERT INTO PRU_EQUIPEMENT_TYPE_CULT ( OBJECTID , IDENT , DETAILS , NB_SALLES , CARAC_TYPE_CULT , S2_ETAB_CULT ) VALUES(obid , ident , details , nbsalles , caractypecult , surfetabcult );
     
            END; --end du premier begin
       END inserer_equipement_type_cult;
    voici celle qui ne fonctionne pas :

    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
    PROCEDURE inserer_equipement_type_cult (ident IN VARCHAR2 , DETAILS IN VARCHAR2 , NBSALLES IN NUMBER , CARACTYPECULT IN VARCHAR2 , SURFETABCULT IN NUMBER ) AS
      BEGIN
        LOCK TABLE PRU_EQUIPEMENT_TYPE_CULT IN EXCLUSIVE MODE;
            BEGIN
              SELECT MAX(OBJECTID) INTO obid FROM PRU_EQUIPEMENT_TYPE_CULT;
              if obid IS NULL then
                obid := 0;
             else
                obid := obid +1;
            end if;
              INSERT INTO PRU_EQUIPEMENT_TYPE_CULT ( OBJECTID , IDENT , DETAILS , NB_SALLES , CARAC_TYPE_CULT , S2_ETAB_CULT ) VALUES(obid , ident , details , nbsalles , caractypecult , surfetabcult );
              
            END; --end du premier begin
            BEGIN
              REFRESH ON COMMIT AS 
                SELECT * FROM PRU_EQUIPEMENT_TYPE_CULT;
            END;
        END inserer_equipement_type_cult;
    Le message d'erreur est le suivant :
    Error(48,19): PLS-00103: Symbole "ON" rencontré à la place d'un des symboles suivants : := . ( @ % ;
    la ligne 48 est celle qui est indiqué en rouge.

    j'essaye de rafraichir ma base de donnes juste apres mon insertion pour que les donnes soient disponibles encore plus vite que ca ne l'ait deja.

    Merci d'avance pour votre aide

  2. #2
    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
    refresh on commit?

    tu essayes de faire quoi? Refresh force on commit concerne les vues matérialisées, mais dans une procédure REFRESH ne veut rien dire.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    j'execute cette procedure dans le cadre d'une application ASP.NET.

    Quand je clique sur un bouton, j'exécute cette procedure stockee.

    Dans la foulée j'interagis avec un webusercontrol contenant une liste deroulante qui doit me faire apparaitre la valeur d'un des champs precedement rentre.
    Or c'est que quand l'action sur le bouton est terminée que je constate l'affichage de la ligne supplémentaire dans la base donc ma liste deroulante ne peut se charger.

    D'ou mon envie de faire un refresh. J'ai vu que c'était pour des vues, mais je pensais que l'on pouvait adapter pour une procedure.

    Voyer vous quelque chose ?

    Cordialement

  4. #4
    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
    absolument rien à voir avec les procédures et encore moins avec les applications web. Pour ASP.NET, je ne te suis d'aucun secours, désolé

    A+

  5. #5
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    A mon avis, c'est au niveau de ta page asp qu'il faut faire quelque chose :
    pourquoi ne pas rafraichir la combo lorsque la procedure stocké a fini de s'executer ?

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Je suis d'accord avec Kaliparker,
    Mais au niveau Oracle : par conception il y a 2 fonctions, donc par construction il vaudrait mieux 2 proc ou encore mieux, une proc qui pilote une fonction qui peut te retourner une valeur.

Discussions similaires

  1. [sgbd] Probleme DBI, procedure stockée de type "SELECT"
    Par tony le chicon dans le forum SGBD
    Réponses: 1
    Dernier message: 07/12/2006, 10h50
  2. [Pl/SQL]Probleme Procedure stockee[/Pl/SQL]
    Par rafounette dans le forum Oracle
    Réponses: 4
    Dernier message: 14/06/2006, 12h56
  3. Probleme Performance Procedure stockee
    Par DaxTaz dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/09/2005, 18h43
  4. [interbase6]probleme procedure stockee
    Par macadam314 dans le forum InterBase
    Réponses: 6
    Dernier message: 13/02/2005, 12h31
  5. Probleme Oracle + Procedure Stockee
    Par ForumWWW dans le forum Bases de données
    Réponses: 5
    Dernier message: 09/07/2004, 16h00

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