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

PostgreSQL Discussion :

[procédure PG] Une erreur mystérieuse...ou pas


Sujet :

PostgreSQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 32
    Points : 32
    Points
    32
    Par défaut [procédure PG] Une erreur mystérieuse...ou pas
    Voilà une belle ereur incomprehensible...j'ai ma procédure qui est hyper simple. Et j'ai l'impression qu'il n'arrive pas à passer le for.
    J'ai essayé de tester avec aucune instruction dans le for: ca plante.
    J'ai essayé d'executer seulement la condition du for: ca marche.
    Je regarde mes autres scripts ils sont fait pareil et ils marche donc si vous voyez une erreur débile n'hesitez pas a m'insulter mais dites là moi parceque là...je sèche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    CREATE OR REPLACE FUNCTION ca_update() RETURNS INTEGER AS '
    DECLARE
            nb_record INTEGER;
            var_territory_code seb1_base_ca.territory_code%TYPE;
    BEGIN
            nb_record := 0;
            FOR var_territory_code IN SELECT DISTINCT territory_code FROM seb1_base_ca LOOP
                    nb_record := nb_record+1;
            END LOOP;
            return nb_record;
    END;
    ' LANGUAGE 'plpgsql';
    SELECT ca_update() AS Retour;
    et voilà le message que j'obtiens

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    NOTICE:  plpgsql: ERROR during compile of ca_update near line 6
    ERROR:  missing .. at end of SQL expression

  2. #2
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    L'instruction FOR telle que tu veux l'utiliser ne fonctionne qu'avec les types ROWTYPE ou RECORD (pas avec TYPE).

    Dans ton cas, remplace simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var_territory_code seb1_base_ca.territory_code%TYPE;
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var_territory_code RECORD;
    dans tes déclarations, je pense que ca devrait suffire.

    Le type RECORD n'est pas exigeant, il prend n'importe quel suite de champs.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 32
    Points : 32
    Points
    32
    Par défaut
    oui en remplacant par record ca marche par contre je ne comprend pas pourquoi le %TYPE ne fonctionne pas, j'ai d'autre script quasimen identiques où cela fonctionne bien et j'ai regarder dans plusieur doc postgre, tout semble correct.
    Merci Djouls64

Discussions similaires

  1. [HTML][CSS] W3C--> Je n'arrive pas à résoudre une erreur
    Par gwendy dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 24/12/2005, 00h50
  2. erreur '' n'est pas une valeur entière correcte
    Par ffxlenoir dans le forum Langage
    Réponses: 5
    Dernier message: 02/12/2005, 14h57
  3. [W3C] [Débutant] Une erreur pas vraiment clair !
    Par almisuifre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 09/10/2005, 07h35
  4. Comment lancer une erreur dans une procédure stockée
    Par borgfabr dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2005, 18h06
  5. Ne pas formater une erreur
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 2
    Dernier message: 18/03/2003, 15h13

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