Colega, tem sim : veja vc, uma view normal ** nada mais é ** do que um
texto SQL, uma query, texto esse que vai ficar armazenado no banco e
cada vez que vc usar a view (num SELECT, num DML, não importa) o texto
será recuperado e executado. Ora, nós sabemos que se pode usar
variáveis numa query, tipo :

SELECT minhacoluna FROM empregador WHERE codigo = :V_COD_EMPREG;

aonde essa V_COD_EMPREG é uma variável, certo ? Já que view nada mais
é do que um texto de query, logicamente vc pode usar o mesmo, apenas
(óbvio) que não pode ser uma variável local, tem que ser algum tipo de
variável GLOBAL do banco : veja em
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1448404423206#6988525402226
,
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4447489221109
,
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:906341500346611919
,
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:6160800568535
e
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:21357698504675
que há exemplos de views parametrizadas usando rotinas PL/SQL que
retornam um valor (ao invés de variável propriamente dita), usando
variável global em package, usando contexts (que são uma espécie de
variável de sessão que vc pode criar)....  
 E óbvio, nada impede taambém que vc faça query tipo :
 
 SELECT minhacoluna FROM empregador WHERE codigo = (select numa
tabelaauxiliar);
 
 e aí cada sessão bota os valores que quiser na tabelaauxiliar.
 
  []s
  
    Chiappa
    
--- Em oracle_br@yahoogrupos.com.br, "Renata de Oliveira"
<rp.olive...@...> escreveu
>
> Olá pessoal, bom dia à todos!
> 
> Queria saber se consigo criar uma view(que não seja materializada, tem 
> que ser view normal),que receba parâmetros?!
> 
> Pensei em uma view por função....mas isso é possível?!
> Alguém saberia me indicar links, ou documentos, onde eu possa 
> encontrar mais informações?!
> 
> Obrigada,
> 
> Renata
>


Responder a