+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité de passage
    Inscrit en
    novembre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : novembre 2010
    Messages : 8
    Points : 0
    Points
    0

    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 :
    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 Expert Avatar de ojo77
    Homme Profil pro
    Support
    Inscrit en
    décembre 2010
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Support
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2010
    Messages : 634
    Points : 1 458
    Points
    1 458

    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
    Invité de passage
    Inscrit en
    novembre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : novembre 2010
    Messages : 8
    Points : 0
    Points
    0

    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 :
    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é Sénior
    Inscrit en
    août 2008
    Messages
    2 195
    Détails du profil
    Informations forums :
    Inscription : août 2008
    Messages : 2 195
    Points : 4 040
    Points
    4 040

    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...

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •