Meu amigo, essa frase de "o Oracle não aceita atribuir dados resultantes de uma 
query, à uma variável" é uma Enorme Asneira : QUALQUER banco de dados digno do 
nome possui BIND VARIABLES...... O grande lance pelo que entendi é que vc *** 
NÃO *** quer usar uma variável Local do PL/SQL (definida num DECLARE) pois 
quando o bloco termina de executar a variável Some e vc quer usar o valor dela 
em OUTROS SQLs da mesma sessão : vc quer usar uma variável PÚBLICA, né ?
 Para que vc tenha uma variável Pública, ela deve ser assim definida, okdoc ? E 
o MODO DE DEFINIR uma variável pública por sessão pode VARIAR de acordo com o 
client Oracle que vc está usando, E SE vc quer definir uma variável NO BANCO ou 
NO CLIENT ....
 Por exemplo, usando sql*plus como client , uma das opções é o comando 
VARIABLE, segue o exemplo :

==> uso o comando sql*plus pra criar uma variável permanente na sessão :
 
SYSTEM:@XE:SQL>variable V_MAX number;

=> preencho o valor nela via SELECT (que é possível SIM , ÓBVIO ULULANTE) :

SYSTEM:@XE:SQL>BEGIN select max(sal) into :V_MAX from scott.emp; END;
  2  /

PL/SQL procedure successfully completed.

=> prontinho , vou exibir :

SYSTEM:@XE:SQL>print V_MAX

     V_MAX
----------
      5000

=> vou usar o valor num SQL qualquer :

SYSTEM:@XE:SQL>select :V_MAX from dual;

    :V_MAX
----------
      5000

=> vou usar num outro SQL :

SYSTEM:@XE:SQL>select empno, ename from scott.emp where sal=:V_MAX;

     EMPNO ENAME
---------- ----------
      7839 KING

SYSTEM:@XE:SQL>

c.q.d. , legal ??? COM CERTEZA a tua tool cliente deve ter recurso pra criar 
variável local, se não estiver usando sql*plus...

Uma ** OUTRA ** opção é ao invés de criar a variável no client, vc criar dentro 
do banco mesmo : pra isso vc pode usar uma PACKAGE, um CONTEXT.... 

OU SEJA, só de cara dei 3 opções pra fazer o que vc acha que "o Oracle não 
faz", tá legal ??

[]s

  Chiappa
  • ... Roberto Andrusievicz Junior roberto_andrusievicz_jun...@carrefour.com [oracle_br]
    • ... Emerson dos Santos Gaudêncio emerson.fen...@gmail.com [oracle_br]
      • ... Roberto Andrusievicz Junior roberto_andrusievicz_jun...@carrefour.com [oracle_br]
      • ... Rodrigo Mufalani rodr...@mufalani.com.br [oracle_br]
      • ... Roberto Andrusievicz Junior roberto_andrusievicz_jun...@carrefour.com [oracle_br]
      • ... Rodrigo Mufalani rodr...@mufalani.com.br [oracle_br]
      • ... Roberto Andrusievicz Junior roberto_andrusievicz_jun...@carrefour.com [oracle_br]
      • ... Emerson dos Santos Gaudêncio emerson.fen...@gmail.com [oracle_br]
      • ... Emerson dos Santos Gaudêncio emerson.fen...@gmail.com [oracle_br]
      • ... Roberto Andrusievicz Junior roberto_andrusievicz_jun...@carrefour.com [oracle_br]
      • ... jlchia...@yahoo.com.br [oracle_br]
      • ... jlchia...@yahoo.com.br [oracle_br]
      • ... Sérgio Luiz Rodrigues Chaves sergio.cha...@elumini.com.br [oracle_br]
  • ... Sérgio Luiz Rodrigues Chaves sergio.cha...@elumini.com.br [oracle_br]

Reply via email to