Mária; esta é uma mensagem referente a um erro quando utilizando o Forms, uma 
ferramenta de desenvolvimento da Oracle (Oracle Developer).
Pelo que eu entendí, o erro ocorre no SQLPlus, não é?






________________________________
De: Mária Cristina Silva <mariancrist...@gmail.com>
Para: oracle_br@yahoogrupos.com.br
Enviadas: Segunda-feira, 29 de Junho de 2009 12:45:57
Assunto: Re: [oracle_br] Help





BOM ACHEI ISSO AQ NO METALINK. MA NÃO SEI COMO FAZER O QUE PEDI.. NÃO ACHEI
EXEMPLOS NEM NADA.
1) In the block properties change the key mode property of the block to
NON-UPDATABLE Primary Key.

Still relevant for 01-March-2007

Problem Description:
============ ========

Getting ORA-01445 when trying to update a view based on two different
relational tables.

Problem Explanation:
============ ========

A form has been created which is based on a view comprised of two different
tables.  This view can be updated through SQL/PLUS but when attempted via
forms, the following error appears...

ORA-01445  CANNOT SELECT ROWID FROM A JOIN VIEW WITHOUT A KEY PRESERVE
TABLE.

Solution Description:
============ =========
1) In the block properties change the key mode property of the block to
NON-UPDATABLE Primary Key.
2) Make one or more columns primary keys in their item property
palette(s).

Solution Explanation:
============ =========

Forms is trying to select ROWID as part of the base table query.
The server returns information that it is a Multi Table View and there is no
Key
preserved table therefore Forms does not select the Rowid.

At this point the key mode property at the block level is set to Automatic.
Forms internally marks this block as being based on a multi table view and
therefore cannot update it.

The Key mode property specifies how Forms uniquely identifies rows
in the database. By default, Oracle uses unique ROWID values to identify
each
row.
Since this view was created based on two different tables, the key
mode
propery should be set to Non-Updatable. This will cause Forms not to
include primary keys.

If the database allows primary keys, then set the key mode property

to updatable and then create a primary key based on one or more columns and
at least one item at the block level

2009/6/29 MARCIO CASTRO <marciomouracastro@ yahoo.com. br>

>
>
> Parece que havia um bug com isso na 9.2.0.5, mas não estou conseguindo
> acessar o Metalink a fim de verificar se o mesmo persiste na 10gR2.
> A tb_livro foi alterada recentemente? Esta faz select em campos BLOB ou
> CLOB, ou utiliza um DB_LINK para uma base não Oracle?
>
> ____________ _________ _________ __
> De: Mária Cristina Silva <mariancristina@ gmail.com<mariancristina% 
> 40gmail.com>
> >
> Para: oracle...@yahoogrup os.com.br <oracle_br%40yahoog rupos.com. br>
> Enviadas: Segunda-feira, 29 de Junho de 2009 12:04:36
> Assunto: Re: [oracle_br] Help
>
> é 10g r2...
>
> 2009/6/29 MARCIO CASTRO <marciomouracastro@ yahoo.com. br>
>
> >
> >
> > Mária; qual é a versão do banco? É a 9.2?
> >
> > ____________ _________ _________ __
> > De: Mária Cristina Silva <mariancristina@ gmail.com<mariancri stina%
> 40gmail.com>
> > >
> > Para: oracle...@yahoogrup os.com.br <oracle_br%40yahoog rupos.com. br>
>
> > Enviadas: Segunda-feira, 29 de Junho de 2009 11:04:03
> > Assunto: [oracle_br] Help
> >
> >
> > Bom dia!
> > Senhores estou com o seguinte erro:
> >
> > ORA-01445: não é possível selecionar nem gerar amostragem para ROWID em
> uma
> > view de junção sem uma tabela preservada com chaves.
> >
> > Encontrei a query que está dando esse erro, e vi que ele faz um count na
> > tabela abaixo, ao fazer isso ele dá essa msg..o estranho é q sempre
> > funcionou assim, e so hoje começou a dá esse erro..vi no metalink o
> > seguinte
> >
> > Cause: A SELECT statement attempted to select ROWIDs from a view derived
> > from
> > a join operation.
> > Because the rows selected in the view do not correspond to
> > underlying
> > physical records, no ROWIDs can be returned.
> > Action: Remove ROWID from the view selection clause, then re-execute the
> > statement.
> > Porém sempre funcinou e nunca tive esse erro.. será q isso pode ser algum
> > index??
> >
> > (*select*
> > *count*(l.Seq_ Solicitacao) SEQ_SOLICITACAO
> > *from*
> > tb_livro l
> > *where
> > *
> >
> > --
> > Abraços,
> > Mária Cristina
> > Cel: 031-8883-5543
> > E-mail: mariancristina@ gmail.com
> > MSN: mcristinasilva3@ hotmail.com
> > --
> > "O começo é a parte mais importante do trabalho."
> > - Platão
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > ____________ _________ _________ _________ _________ _________ _
> > Veja quais são os assuntos do momento no Yahoo! +Buscados
> > http://br.maisbusca dos.yahoo. com
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> Abraços,
> Mária Cristina
> Cel: 031-8883-5543
> E-mail: mariancristina@ gmail.com
> MSN: mcristinasilva3@ hotmail.com
> --
> "O começo é a parte mais importante do trabalho."
> - Platão
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> ____________ _________ _________ _________ _________ _________ _
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbusca dos.yahoo. com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>

-- 
Abraços,
Mária Cristina
Cel: 031-8883-5543
E-mail: mariancristina@ gmail.com
MSN: mcristinasilva3@ hotmail.com
-- 
"O começo é a parte mais importante do trabalho."
- Platão

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


   


      
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

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

Responder a