Alguém sabe informar qual seria o tipo dessas  variáveis L_VQBRLINHA, 
L_valor_novo, L_TESTE_QBR, L_FRA_cert e L_frase se alguém  quiser fazer algum 
ajustar a melhorar o código fica a vontade.  
DECLARE
     L_VFRASE              VARCHAR2(240) := '&Digite uma Frase.';     
L_VFRASE_TEST         VARCHAR2(240);     L_VFRASE_NOVO         VARCHAR2(240);   
  L_VQBRLINHA           VARCAHR2(240);     L_valor_novo          VARCAHR2(240); 
    L_TESTE_QBR           VARCAHR2(240);     L_FRA_cert            
VARCAHR2(240);     L_frase               VARCAHR2(240);     L_VFRASE_TEST1      
  VARCHAR2(240);

 BEGIN
  FOR L_VFRASE > 100 LOOP    IF DBMS_OUTPUT.put_line('Frase é maior que 100 
caracteres');       L_VFRASE              := INSTR( L_VFRASE,' ');       
L_VFRASE_TEST         := L_VFRASE + L_VFRASE_TEST;       L_VFRASE_TEST         
:= 0;       L_VQBRLINHA           :=  L_VFRASE + L_valor_novo;       
L_VQBRLINHA           :=  -1;       L_TESTE_QBR           := 
SUBSTR(L_FRA_CERT,L_valor_novo);       L_FRASE               := 
SUBSTR(L_FRA_CERT,L_VALOR_NOVO + LENGTH(L_FRA_CERT));
    IF L_VQBRLINHA <10 then
        L_L_TESTE_QBR := (CONCAT(L_VFRASE_TEST1,''),L_TESTE_QBR);
   END IF:    dbms_output.put_line(L_VFRASE);    dbms_output.put_line 
(L_TESTE_QBR);    dbms_output.put_line (L_FRASE);
    dbms_output.put_line(L_VQBRLINHA);
   END IF;  END LOOP:END;
To: oracle_br@yahoogrupos.com.br
From: ro.wars...@gmail.com
Date: Mon, 11 Feb 2013 15:04:13 -0200
Subject: Re: [oracle_br] Re: Duvida
















 



  


    
      
      
      Sugestão, antes de tenta executa no SQL*Plus, coloca o teu programa em um

editor tipo bloco de notas e verifica ele. Aí vai começar a aparecer os

erros.

Usa a identação para melhorar a leitura do programa.



[]´s

Roberto



Em 11 de fevereiro de 2013 14:54, gabriel Tomaz

gabriel_tom...@hotmail.com>escreveu:



>

> Qual seria o tipo de dados correto?

>

> To: oracle_br@yahoogrupos.com.br

> From: ro.wars...@gmail.com

> Date: Mon, 11 Feb 2013 14:47:57 -0200

> Subject: Re: [oracle_br] Re: Duvida

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>       Gabriel,

>

>

>

> Antes de mais nada, esse teu código está funcionando?

>

> Dando uma olhada aqui eu reparei que:

>

> - a declaração das

>

> variáveis L_VQBRLINHA, L_valor_novo, L_TESTE_QBR, L_FRA_cert e L_frase

>

> estão incorretas - o tipo de dados foi escrito errado;

>

> - está faltando END LOOP e END IF;

>

>

>

> Corrige esse itens, executa o teu programa e se tiver dúvida posta de novo,

>

> com o programa funcionando, como está sendo a saída e como tu

>

> gostaria\entende que deveria ser.

>

>

>

> []´s

>

> Roberto

>

>

>

> Em 11 de fevereiro de 2013 14:42, gabriel Tomaz

>

> gabriel_tom...@hotmail.com>escreveu:

>

>

>

> >

>

> > Com base no uso da SUBSTR alguém poderia validar ou aperfeiçoar o código

>

> > ou da dicas para melhorar.

>

> >

>

> > DECLARE

>

> > L_VFRASE              VARCHAR2(240) := '&Digite uma Frase.';L_VFRASE_TEST

>

> >         VARCHAR2(240);L_VFRASE_NOVO         VARCHAR2(240);L_VQBRLINHA

>

> >     VARCAHR2(240);L_valor_novo          VARCAHR2(240);L_TESTE_QBR

>

> > VARCAHR2(240);L_FRA_cert            VARCAHR2(240);L_frase

>

> > VARCAHR2(240);L_VFRASE_TEST1        VARCHAR2(240);

>

> >

>

> > BEGIN

>

> > FOR L_VFRASE > 100 LOOPIF DBMS_OUTPUT.put_line('Frase é maior que 100

>

> > caracteres');L_VFRASE              := INSTR( L_VFRASE,' ');L_VFRASE_TEST

>

> >       := L_VFRASE + L_VFRASE_TEST;L_VFRASE_TEST         := 0;L_VQBRLINHA

>

> >         :=  L_VFRASE + L_valor_novo;L_VQBRLINHA           :=

>

> >  -1;L_TESTE_QBR           := SUBSTR(L_FRA_CERT,L_valor_novo);L_FRASE

>

> >         := SUBSTR(L_FRA_CERT,L_VALOR_NOVO + LENGTH(L_FRA_CERT));

>

> > IF L_VQBRLINHA <10 then

>

> > L_L_TESTE_QBR := (CONCAT(L_VFRASE_TEST1,''),L_TESTE_QBR);

>

> > END IF:dbms_output.put_line(L_VFRASE);dbms_output.put_line

>

> > (L_TESTE_QBR);dbms_output.put_line (L_FRASE);

>

> > dbms_output.put_line(L_VQBRLINHA);

>

> > END;

>

> > CC: oracle_br@yahoogrupos.com.br

>

> > To: oracle_br@yahoogrupos.com.br

>

> > From: alisson...@yahoo.com.br

>

> > Date: Mon, 11 Feb 2013 13:24:44 -0200

>

> > Subject: Re: [oracle_br] Re: Duvida

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >       Select subtr('teste',0,1) from dual;

>

> >

>

> >

>

> >

>

> > Nesse caso o resultado seria a letra 't'

>

> >

>

> >

>

> >

>

> > Enviado via iPhone Alisson Luz

>

> >

>

> >

>

> >

>

> > Em 11/02/2013, às 13:56, gabriel Tomaz gabriel_tom...@hotmail.com>

>

> > escreveu:

>

> >

>

> >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > > Estou dando uma lida aqui. Alguém teria algum exemplo dessa função

> SUBTR

>

> > ?No exemplo que digitei abaixo esta correto meu raciocínio?

>

> >

>

> > > To: oracle_br@yahoogrupos.com.br

>

> >

>

> > > From: jlchia...@yahoo.com.br

>

> >

>

> > > Date: Mon, 11 Feb 2013 14:47:54 +0000

>

> >

>

> > > Subject: [oracle_br] Re: Duvida

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >        Bom, não vou me meter a codificar na prática (não serei

>

> > desmancha-prazeres tirando a sua alegria) mas : Imaginando que o limite

> da

>

> > linha é de 100 caracteres, E QUE o sql*plus já foi configurado com SET

>

> > LINESIZE 100, temos que :

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >  - se a linha é de 100 caracteres e a qtdade de colunas está definida

> na

>

> > variável V_QTD_COL (digamos), aí 100 / V_QTD_COL te dá o tamanho de cada

>

> > coluna em caracteres , são pedaços desse tamanho da string original que

> vc

>

> > vai ter que extrair

>

> >

>

> > >

>

> >

>

> > >  - o principal comando para vc extrair uma substring a partir de uma

>

> > string maior é o SUBSTR, consulte a Documentação para vc aprender o uso

> dele

>

> >

>

> > >

>

> >

>

> > >  - não há um "comando" para quebrar linhas no PL/SQL, nem na package

>

> > DBMS_OUTPUT (que é o que vc está usando) : o que vc vai ter que fazer é

> OU

>

> > inserir na string a ser exibida o(s) caracteres de controle que sinalizam

>

> > end of line (se o seu sistema operacional for Windows eles são CHR(13) ||

>

> > CHR(10) , enquanto no Linux/Unix é só o CHR(13)

>

> >

>

> > >

>

> >

>

> > > - eu entendo que a idéia é que, se o fim da coluna não cai num espaço

> em

>

> > branco, vc terá que finalizar a substring do SUBSTR no primeiro espaço em

>

> > branco à esquerda da posição de fim da coluna e insreir uma quebra de

> linha

>

> > após o espaço, fazendo o restante cair na linha de baixo quando exibido :

>

> > provavelmente para isso vc vai precisar do INSTR, que procura a

> ocorrência

>

> > de um caracter

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > > A minha dica portanto é : Dá uma estudada nesses comandos que citei e

>

> > faz um esforço inicial, tenta escrever uma versão dessa lógica : não

>

> > conseguindo, a gente pode palpitar/tentar mostrar onde vc falhou, aí vc

>

> > escreve uma segunda versão, e aí vai até vc conseguir - é Assim que se

>

> > aprende, por tentativa e erro ...

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >   []s

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >     Chiappa

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > > --- Em oracle_br@yahoogrupos.com.br, gabriel Tomaz  escreveu

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> Alguem pode me ajudar na resolução desse exercício segue como esta

>

> > ficando:

>

> >

>

> > >

>

> >

>

> > >> estou usando sql*plus

>

> >

>

> > >

>

> >

>

> > >> DECLAREL_VFRASE VARCHAR2(240) := '&Digite uma Frase.';L_VFRASE_TEST

>

> > VARCHAR2(240);L_VFRASE_NOVO VARCHAR2(240);L_VQBRLINHA

>

> > VARCAHR2(240);BEGINFOR L_VFRASE > 100 LOOPIF DBMS_OUTPUT.put_line('Frase

> é

>

> > maior que 100 caracteres');L_VFRASE := INSTR( L_VFRASE,' ');L_VFRASE_TEST

>

> > := L_VFRASE + L_VFRASE_TEST;L_VFRASE_TEST := 0;L_VQBRLINHA :=END;

>

> >

>

> > >

>

> >

>

> > >> O exercício e o seguinte:Escreva um programa em que dado uma frase e a

>

> > quantidade de colunas que podem ser exibidas na tela, faça a quebra de

>

> > linhas sem quebrar as palavras.

>

> >

>

> > >

>

> >

>

> > >> Por exemplo, se passarmos a frase "Um pequeno jabuti xereta viu dez

>

> > cegonhas felizes." e pedirmos para ela ser exibida em 20 colunas, teremos

>

> > como resposta:Um pequeno jabutixereta viu dezcegonhas felizes.

>

> >

>

> > >

>

> >

>

> > >> Grato

>

> >

>

> > >

>

> >

>

> > >> To: oracle_br@yahoogrupos.com.br

>

> >

>

> > >

>

> >

>

> > >> From: gabriel_tomazc@...

>

> >

>

> > >

>

> >

>

> > >> Date: Sun, 10 Feb 2013 15:51:36 -0300

>

> >

>

> > >

>

> >

>

> > >> Subject: Re: [oracle_br] Duvida

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>      Gostaria de fazer usando o sql plus.

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> -----Original Message-----

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> From: Milton Bastos Henriquis Jr.

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> Sent: 10 Feb 2013 17:53:04 GMT

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> To: oracle_br@yahoogrupos.com.br

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> Subject: Re: [oracle_br] Duvida

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> Gabriel, explique ONDE você quer fazer isso.

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> Vc está estudando o que? SQL?

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> Vc quer fazer isso aí no SQL*Plus?

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> 2013/2/9 gabriel Tomaz gabriel_tomazc@...>

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>> **

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>> Caros , gostaria de saber se podem me ajudar estou iniciando com

>

> > Oracle e

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>> estou resolvendo alguns exercícios para aprimorar meus conhecimentos.

>

> > Estou

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>> com o seguinte dificuldade:

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>> Dado uma frase e a quantidade de colunas que podem ser exibidas na

>

> > tela,

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>> faça a quebra de linhas sem quebrar as palavras.

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>> Gostaria de saber se existe algum comando para fazer a quebra de

> linha

>

> > e

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>> como ficaria meu bloco?

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>> desde já agradeço.

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>> [As partes desta mensagem que não continham texto foram removidas]

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> [As partes desta mensagem que não continham texto foram removidas]

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> ------------------------------------

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> ----------------------------------------------------------

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de

>

> > inteira responsabilidade de seus remetentes.

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> ----------------------------------------------------------

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >>> Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »

>

> > Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO

> ESPAÇO!

>

> > VISITE: http://www.oraclebr.com.br/

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> ---------------------------------------------------------- Links do

>

> > Yahoo! Grupos

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >> [As partes desta mensagem que não continham texto foram removidas]

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > > [As partes desta mensagem que não continham texto foram removidas]

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> > > ------------------------------------

>

> >

>

> > >

>

> >

>

> > > ----------------------------------------------------------

>

> >

>

> > >> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de

>

> > inteira responsabilidade de seus remetentes.

>

> >

>

> > > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

>

> >

>

> > > ----------------------------------------------------------

>

> >

>

> > >> Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »

>

> > Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO

> ESPAÇO!

>

> > VISITE: http://www.oraclebr.com.br/

>

> >

>

> > > ---------------------------------------------------------- Links do

>

> > Yahoo! Grupos

>

> >

>

> > >

>

> >

>

> > >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> >

>

> > [As partes desta mensagem que não continham texto foram removidas]

>

> >

>

> >

>

> >

>

> > ------------------------------------

>

> >

>

> >

>

> > ----------------------------------------------------------

>

> > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de

>

> > inteira responsabilidade de seus remetentes.

>

> > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

>

> >

>

> > ----------------------------------------------------------

>

> > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »

>

> > Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO

> ESPAÇO!

>

> > VISITE: http://www.oraclebr.com.br/

>

> > ----------------------------------------------------------

>

> > Links do Yahoo! Grupos

>

> >

>

> >

>

> >

>

>

>

> [As partes desta mensagem que não continham texto foram removidas]

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

>

> [As partes desta mensagem que não continham texto foram removidas]

>

>

>

> ------------------------------------

>

>

> ----------------------------------------------------------

> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de

> inteira responsabilidade de seus remetentes.

> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

>

> ----------------------------------------------------------

> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »

> Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO!

> VISITE: http://www.oraclebr.com.br/

> ----------------------------------------------------------

> Links do Yahoo! Grupos

>

>

>



[As partes desta mensagem que não continham texto foram removidas]





    
     

    
    






                                          

[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a