Obrigado Chiappa e Salvio

Salvio,
 me parece que do seu jeito deu certo, pois
eu queria pesquisar em todas as views do banco se
existe determinado texto e ele me retornasse o owner
e o nome da view que contem o texto solicitado.

Chiappa,
Vou tentar fazer por cursor pois preciso pesquisar
todas as views do banco.

[]s

Phael


----- Original Message ----- 
From: "jlchiappa" <[EMAIL PROTECTED]>
To: <oracle_br@yahoogrupos.com.br>
Sent: Wednesday, July 20, 2005 10:36 AM
Subject: [oracle_br] Re: Fw: Consultar o text de uma view


Campos LONG não podem ser parte de WHERE em SQL, é uma das restrições
(documentadas) deles. Entre outras possibilidades, uma é usar PL/SQL,
PL/SQL é capaz de manipular LONGs diretamente, até 32 Kb (se for
maior que isso teria que quebrar usando DBMS_SQL, mas pra views não
deve ser o caso). É trivial escrever uma função PL/SQL pra isso, o
segredo (nada secreto) é se saber como o SQL e o PL/SQL manipulam
datatypes. O exemplo abaixo é ridiculamente simplório mas funciona :

[EMAIL PROTECTED]:SQL>create or replace function existe_na_view(P_OWNER
char, P_VIEW_NAME char, P_CONDICAO char)
  2  return number
  3  as
  4     l_tmp long;
  5     l_ret number := 0;
  6  begin
  7     select TEXT into l_tmp
  8       from DBA_VIEWS
  9      where owner = P_OWNER
 10        and view_name = P_VIEW_NAME;
 11     if l_tmp like P_CONDICAO then
 12        l_ret := 1;
 13     end if;
 14     return l_ret;
 15  end;
 16  /

Função criada.


[EMAIL PROTECTED]:SQL>select owner, view_name, text from dba_views
  2     where existe_na_view(OWNER, VIEW_NAME, '%dept%') <> 0;

OWNER            VIEW_NAME                      TEXT
---------------- ------------------------------ ----------------------
----------------------------------------------------------
CHIAPPA          V_DEPT
select "DEPTNO","DNAME","LOC" from scott.dept where deptno < 50

[EMAIL PROTECTED]:SQL>

[]s

 Chiappa
--- Em oracle_br@yahoogrupos.com.br, "Phael" <[EMAIL PROTECTED]> escreveu
>
> Como eu faço uma consulta no texto de uma view
>
> quero usar o like no campo TEXT    LONG da
>
> dba_views ?
>
> Se não tiver como,
>
> Então tem como eu criar uma tabela com os mesmos dados
> dessa colunas mas com o tipo varchar2?
>
>
>
> Phael
>
> [As partes desta mensagem que não continham texto foram removidas]




______________________________________________________________________

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar
______________________________________________________________________
Links do Yahoo! Grupos









______________________________________________________________________

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar 
______________________________________________________________________ 
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:
    [EMAIL PROTECTED]

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

 



Responder a