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 :

Fonction erreur "set SERVEROUTPUT on"


Sujet :

PL/SQL Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Fonction erreur "set SERVEROUTPUT on"
    Bonsoir,
    J'ai une erreur dans le script suivant. l'erreur m'est indiquée:

    Error(2,1): PLS-00103: Encountered the symbol "SET" when expecting one of the following: ; is with authid as cluster order using external deterministic parallel_enable pipelined

    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
     
    create or replace procedure EmpNaoEntregue (code_funcionario in funcionario.cod_func%type)
    set SERVEROUTPUT on
    declare
      texto char(25);
    begin
      select artigo_roupa.design into texto
      from funcionario,encomendas, artigo_roupa, linha_encomenda
      where funcionario.cod_func = encomendas.cod_func
      and encomendas.cod_encomenda = linha_encomenda.cod_encomenda
      and linha_encomenda.cod_artigo = artigo_roupa.cod_artigo
      and linha_encomenda.estado_enc like '0'
      and funcionario.cod_func = code_funcionario;
      dbms_output.put_line(texto);
    end;
    /

  2. #2
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Bonjour,

    L'instruction "set serveroutput on" ne peut pas faire partie d'une procédure.

    En PL/SQL c'est au package dbms_ouput et notemment à sa fonction enable qu'il faut se référer.

    Plus d'infos dans ce tuto : http://sheikyerbouti.developpez.com/pl_sql/?page=Chap7

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Re
    Merci pour ta réponce,
    maintenant il me dit que j'ai une erreur dans mon declar et qui lui faut le symbole de "end-of-file"

    Error(2,1): PLS-00103: Encountered the symbol "DECLARE" when expecting one of the following: ; is with authid as cluster order using external deterministic parallel_enable pipelined

    Error(13,4): PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following: begin case declare end exception exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge <a single-quoted SQL string> pipe <an alternatively-quoted SQL string>

    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
     
    CREATE OR REPLACE procedure EmpNaoEntregue (PN$code_funcionario IN funcionario.cod_func%type)
    declare
      texto varchar(1000);
    begin
      SELECT artigo_roupa.design INTO texto
      FROM funcionario,encomendas, artigo_roupa, linha_encomenda
      WHERE funcionario.cod_func = encomendas.cod_func
      AND encomendas.cod_encomenda = linha_encomenda.cod_encomenda
      AND linha_encomenda.cod_artigo = artigo_roupa.cod_artigo
      AND linha_encomenda.estado_enc LIKE '0'
      AND funcionario.cod_func = PN$code_funcionario;
      dbms_output.put_line(texto);
    end;
    /

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Pas besoin de DECLARE, c'est IS ou AS.
    Le guide PL/SQL du site est très bien pour débuter :
    Procédures, Fonctions et paquetages
    Je mets également le lien pour le SELECT INTO au cas...

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/04/2010, 15h33
  2. [MySQL] Supprimer les erreurs de syntaxe dues aux quotes
    Par gotenks dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/01/2006, 16h10

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