RES: [oracle_br] Recuperar rowid após um Insert

2006-10-31 Por tôpico Alexandre Rocha Placido
A todos que tentaram ajudar, eu encontrei uma solução que foi a seguinte:


Eu criei uma trigger after insert for each row para todas as tabelas que
atribui o ":new.rowid" a uma variável de uma package, e depois lá na frente
eu recupero o valor desta variável.



Alexandre Rocha Placido
Divisão de Tecnologia da Informação - Agrovale
Fone:   +55 74 3612-2900
+55 87 8802-0474
MSN[EMAIL PROTECTED]
 
“Eis a voz do que clama: Preparai no deserto o caminho do Senhor; endireitai
no ermo uma estrada para o nosso Deus. Todo vale será levantado, e será
abatido todo monte e todo outeiro; e o terreno acidentado será nivelado, e o
que é escabroso, aplanado. A glória do Senhor se revelará; e toda a carne
juntamente a verá; pois a boca do Senhor o disse.” Isaías 40:3-5
 
-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Marcio Cruz
Enviada em: terça-feira, 31 de outubro de 2006 08:43
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Recuperar rowid após um Insert

Na programação em Dephi:

eu uso uma função de currval from dual

e, depois, mando selecionar o SELECT ROWD FROM TABELA WHERE CHAVE = CURRVAL

Alexandre Rocha Placido escreveu:
>
>
> Alguém sabe se tem com recuperar o último rowid gerado pelo Oracle após um
> Insert?
>
> Tentei algo como o comando abaixo mas não funcionou
>
>
>
> Insert Into
>
AGROVALE.SCHEMAS_T(SCHEMA_ID,SCHEMA_DESC,ROWVERSION,DML_USER,DML_DATE,DML_HO
> UR)
>
>
>
Values('SISTI','SISTI',to_number('906745'),'APLACIDO',to_date('26-OCT-06'),'
> 10:25')
>
> returnig rowid into vRowid
>
>
>
> Claro que isso vai rodar dentro de uma package. Foi sugestão de uma outra
> pessoa.
>
> Mas no resumo o que eu precisava mesmo era recuperar o rowid da linha
> inserida, de antemão pela lógica da aplicação só será inserida uma 
> linha por
> vez.
>
>
>
>
>
>
>
> Alexandre Rocha Placido
>
> Divisão de Tecnologia da Informação - Agrovale
>
> Fone: +55 74 3612-2900
>
> +55 87 8802-0474
>
> MSN [EMAIL PROTECTED]
>
>
>
> “Eis a voz do que clama: Preparai no deserto o caminho do Senhor; 
> endireitai
> no ermo uma estrada para o nosso Deus. Todo vale será levantado, e será
> abatido todo monte e todo outeiro; e o terreno acidentado será 
> nivelado, e o
> que é escabroso, aplanado. A glória do Senhor se revelará; e toda a carne
> juntamente a verá; pois a boca do Senhor o disse.” Isaías 40:3-5
>
>



Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 "Vagas Limitadas"

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 

--
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/ 

--
O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
http://www.oraclebr.com.br/  

  
Links do Yahoo! Grupos

 



Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 "Vagas Limitadas"

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
--
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/ 
--
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:
[EMAIL PROTECTED]

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

 



RES: [oracle_br] Recuperar rowid após um Insert

2006-10-26 Por tôpico Alexandre Rocha Placido
Bruno,

 

Obrigado pela atenção, mas isso eu sei que poderia ser feito, é que o insert
é montado dinamicamente, aí teria que ter um select montado dinamicamente
para ercuperar isso também, até dá para fazer apesar da dificuldade do fato
de cada tabela ter uma PK diferente, mas temos já algumas funções que
retornar qual a PK de uma determinada tabela, porém existe um outro problema
bem maior é que algumas das tabelas envolvidas tem milhares ou milhões de
linha e aí a performance ficaria altamente comprometida. 

Tentei usar os exemplos da documentação da Oracle, mas dá sempre erro.

 

Exemplo:

DECLARE
   TYPE EmpCurTyp IS REF CURSOR;
   TYPE NumList IS TABLE OF NUMBER;
   TYPE NameList IS TABLE OF VARCHAR2(25);
   emp_cv EmpCurTyp;
   empids NumList;
   enames NameList;
   sals   NumList;
BEGIN
   OPEN emp_cv FOR 'SELECT employee_id, last_name FROM employees';
   FETCH emp_cv BULK COLLECT INTO empids, enames;
   CLOSE emp_cv;
   EXECUTE IMMEDIATE 'SELECT salary FROM employees'
  BULK COLLECT INTO sals;
END;
/

 

 

Tentei montar algo igualzinho mas não funcionou. Continuo no aguardo de
ajuda

 

Alexandre Rocha Placido

Divisão de Tecnologia da Informação - Agrovale

Fone:   +55 74 3612-2900

+55 87 8802-0474

MSN[EMAIL PROTECTED]

 

“Eis a voz do que clama: Preparai no deserto o caminho do Senhor; endireitai
no ermo uma estrada para o nosso Deus. Todo vale será levantado, e será
abatido todo monte e todo outeiro; e o terreno acidentado será nivelado, e o
que é escabroso, aplanado. A glória do Senhor se revelará; e toda a carne
juntamente a verá; pois a boca do Senhor o disse.” Isaías 40:3-5

 

  _  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Lorenzini Bruno
Enviada em: quinta-feira, 26 de outubro de 2006 13:23
Para: oracle_br@yahoogrupos.com.br
Assunto: RE: [oracle_br] Recuperar rowid após um Insert

 

Faça um select pelo chave da tabela retornado o rowid.



Select rowid from emp where empno = <>



[[]]'s





-Original Message-
From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On
Behalf Of Alexandre Rocha Placido
Sent: Thursday, October 26, 2006 10:27 AM
To: oracle_br@yahoogrupos.com.br
Subject: [oracle_br] Recuperar rowid após um Insert





Alguém sabe se tem com recuperar o último rowid gerado pelo Oracle após um
Insert?

Tentei algo como o comando abaixo mas não funcionou



Insert Into
AGROVALE.SCHEMAS_T(SCHEMA_ID,SCHEMA_DESC,ROWVERSION,DML_USER,DML_DATE,DML_HO
UR) 


Values('SISTI','SISTI',to_number('906745'),'APLACIDO',to_date('26-OCT-06'),'
10:25') 

returnig rowid into vRowid



Claro que isso vai rodar dentro de uma package. Foi sugestão de uma outra
pessoa.

Mas no resumo o que eu precisava mesmo era recuperar o rowid da linha
inserida, de antemão pela lógica da aplicação só será inserida uma linha por
vez.







Alexandre Rocha Placido

Divisão de Tecnologia da Informação - Agrovale

Fone:   +55 74 3612-2900

+55 87 8802-0474

MSN[EMAIL PROTECTED]



"Eis a voz do que clama: Preparai no deserto o caminho do Senhor; endireitai
no ermo uma estrada para o nosso Deus. Todo vale será levantado, e será
abatido todo monte e todo outeiro; e o terreno acidentado será nivelado, e o
que é escabroso, aplanado. A glória do Senhor se revelará; e toda a carne
juntamente a verá; pois a boca do Senhor o disse." Isaías 40:3-5





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






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


 



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




Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 "Vagas Limitadas"

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
--
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/ 
--
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:
[EMAIL PROTECTED]

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

 



RE: [oracle_br] Recuperar rowid após um Insert

2006-10-26 Por tôpico Lorenzini Bruno
Faça um select pelo chave da tabela retornado o rowid.

 

Select rowid from emp where empno = <>

 

[[]]'s

 

 

-Original Message-
From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of 
Alexandre Rocha Placido
Sent: Thursday, October 26, 2006 10:27 AM
To: oracle_br@yahoogrupos.com.br
Subject: [oracle_br] Recuperar rowid após um Insert

 



Alguém sabe se tem com recuperar o último rowid gerado pelo Oracle após um
Insert?

Tentei algo como o comando abaixo mas não funcionou



Insert Into
AGROVALE.SCHEMAS_T(SCHEMA_ID,SCHEMA_DESC,ROWVERSION,DML_USER,DML_DATE,DML_HO
UR) 


Values('SISTI','SISTI',to_number('906745'),'APLACIDO',to_date('26-OCT-06'),'
10:25') 

returnig rowid into vRowid



Claro que isso vai rodar dentro de uma package. Foi sugestão de uma outra
pessoa.

Mas no resumo o que eu precisava mesmo era recuperar o rowid da linha
inserida, de antemão pela lógica da aplicação só será inserida uma linha por
vez.







Alexandre Rocha Placido

Divisão de Tecnologia da Informação - Agrovale

Fone:   +55 74 3612-2900

+55 87 8802-0474

MSN[EMAIL PROTECTED]



"Eis a voz do que clama: Preparai no deserto o caminho do Senhor; endireitai
no ermo uma estrada para o nosso Deus. Todo vale será levantado, e será
abatido todo monte e todo outeiro; e o terreno acidentado será nivelado, e o
que é escabroso, aplanado. A glória do Senhor se revelará; e toda a carne
juntamente a verá; pois a boca do Senhor o disse." Isaías 40:3-5





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


 



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




Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 "Vagas Limitadas"

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
--
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/ 
--
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:
[EMAIL PROTECTED]

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

 



[oracle_br] Recuperar rowid após um Insert

2006-10-26 Por tôpico Alexandre Rocha Placido
 

Alguém sabe se tem com recuperar o último rowid gerado pelo Oracle após um
Insert?

Tentei algo como o comando abaixo mas não funcionou

 

Insert Into
AGROVALE.SCHEMAS_T(SCHEMA_ID,SCHEMA_DESC,ROWVERSION,DML_USER,DML_DATE,DML_HO
UR) 

 
Values('SISTI','SISTI',to_number('906745'),'APLACIDO',to_date('26-OCT-06'),'
10:25') 

returnig rowid into vRowid

 

Claro que isso vai rodar dentro de uma package. Foi sugestão de uma outra
pessoa.

Mas no resumo o que eu precisava mesmo era recuperar o rowid da linha
inserida, de antemão pela lógica da aplicação só será inserida uma linha por
vez.

 

 

 

Alexandre Rocha Placido

Divisão de Tecnologia da Informação - Agrovale

Fone:   +55 74 3612-2900

+55 87 8802-0474

MSN[EMAIL PROTECTED]

 

“Eis a voz do que clama: Preparai no deserto o caminho do Senhor; endireitai
no ermo uma estrada para o nosso Deus. Todo vale será levantado, e será
abatido todo monte e todo outeiro; e o terreno acidentado será nivelado, e o
que é escabroso, aplanado. A glória do Senhor se revelará; e toda a carne
juntamente a verá; pois a boca do Senhor o disse.” Isaías 40:3-5

 



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




Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 "Vagas Limitadas"

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
--
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/ 
--
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:
[EMAIL PROTECTED]

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