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 :

Bloc PL/SQL qui marche en 9i mais pas en 10g ?


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 224
    Par défaut Bloc PL/SQL qui marche en 9i mais pas en 10g ?
    Bonjour,

    J'ai un bloc PL/SQL qui fonctionne sous Oracle 9.2.0.5 mais pas en 10.2.0.4

    Je ne comprends pas pourquoi...

    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
    DECLARE
    CURSOR c IS SELECT OBJECT_NAME, OBJECT_TYPE FROM USER_OBJECTS WHERE STATUS='INVALID';
    BEGIN
    FOR rec IN c
    LOOP
    IF rec.object_type = 'PROCEDURE' THEN
    EXECUTE IMMEDIATE 'ALTER PROCEDURE ' || rec.object_name || ' COMPILE';
    ELSIF rec.object_type = 'FUNCTION' THEN
    EXECUTE IMMEDIATE 'ALTER FUNCTION ' || rec.object_name || ' COMPILE';
    ELSIF rec.object_type = 'PACKAGE' THEN
    EXECUTE IMMEDIATE 'ALTER PACKAGE ' || rec.object_name || ' COMPILE';
    ELSIF rec.object_type = 'TRIGGER' THEN
    EXECUTE IMMEDIATE 'ALTER TRIGGER ' || rec.object_name || ' COMPILE';
    END IF;
    END LOOP;
    END;
    /

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    et on doit deviner l'erreur évidemment

    Sinon, t'as utlrp.sql qui fait la recompile comme un grand

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Tiens, tu peux aussi faire bcp plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    BEGIN
    FOR obj_invalid IN (SELECT OBJECT_NAME, OBJECT_TYPE FROM USER_OBJECTS WHERE STATUS='INVALID') 
    LOOP 
      EXECUTE IMMEDIATE 'ALTER ' || obj_invalid.object_type || ' ' || obj_invalid.object_name || ' COMPILE';
    END LOOP;
    END;
    /

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 224
    Par défaut
    TU n'as pas trouvé l'erreur tout seul ???
    Dans ce cas je te la met :p

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DECLARE
    *
    ERROR at line 1:
    ORA-00922: missing or invalid option
    ORA-06512: at line 13
    Il me fait la même erreur avec ton script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    BEGIN
    *
    ERROR at line 1:
    ORA-00922: missing or invalid option
    ORA-06512: at line 4
    Le show errors dis qu'il n'y a pas d'erreur...

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 224
    Par défaut
    BOn avec utlrp.sql ca marche, il me recompile tous mes objets. Mais je ne comprends pas pourquoi mon script qui marchait très bien en 9i ne marche pas en 10G...

  6. #6
    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
    Par défaut
    sans doute à cause des guillemets manquants...

    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
    DECLARE
    CURSOR c IS SELECT OBJECT_NAME, OBJECT_TYPE FROM USER_OBJECTS WHERE STATUS='INVALID';
    BEGIN
    FOR rec IN c
    LOOP
    IF rec.object_type = 'PROCEDURE' THEN
    EXECUTE IMMEDIATE 'ALTER PROCEDURE "' || rec.object_name || '" COMPILE';
    ELSIF rec.object_type = 'FUNCTION' THEN
    EXECUTE IMMEDIATE 'ALTER FUNCTION "' || rec.object_name || '" COMPILE';
    ELSIF rec.object_type = 'PACKAGE' THEN
    EXECUTE IMMEDIATE 'ALTER PACKAGE "' || rec.object_name || '" COMPILE';
    ELSIF rec.object_type = 'TRIGGER' THEN
    EXECUTE IMMEDIATE 'ALTER TRIGGER "' || rec.object_name || '" COMPILE';
    END IF;
    END LOOP;
    END;
    /

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

Discussions similaires

  1. Requete qui marche une fois mais pas deux
    Par maxvador dans le forum Hibernate
    Réponses: 4
    Dernier message: 23/01/2007, 15h07
  2. Fonction qui marche sous FF mais pas IE
    Par Oluha dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2006, 14h07
  3. Pb sur une fct qui marche sous mozilla mais pas ie
    Par chpog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/09/2005, 11h26
  4. Réponses: 2
    Dernier message: 06/06/2005, 15h13
  5. Réponses: 2
    Dernier message: 04/06/2004, 11h11

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