Fala Wagner!

Não tem problema dois usuários executarem a rotina ao mesmo tempo. Imagine a
situação abaixo:

1) É criada a tabela temporária *tab_temp* com o campo *campo1* *number*;
2) O usuário *USU_A* faz logon;
3) O usuário *USU_B* faz logon;
4) USU_A faz um insert em TAB_TEMP, com o *valor 1* e faz commit;
5) USU_B faz um select sem cláusula where na TAB_TEMP... que não retorna
nenhum registro!!

Isso ocorre porque os registros das tabelas temporárias, como nosso amigo
disse, só aparecem para a própria sessão que os incluiu. Outras sessões não
enxergam esses valores. Podem ser mil usuários ao mesmo tempo, sem
problemas. Não é necessário filtrar pelo SID da sessão, nem nada assim.

2008/4/29 Wagner Franze Junior <[EMAIL PROTECTED]>:

>   Então.. tenho um servidor onde existem cerca de 20 clientes e 4 produtos
> que precisam de extrações para analise.. para isso preciso de 3 tabelas
> auxiliares para tratamento dos dados de 3 tabelas normais .. esses
> aplicativos são chamados por usuários através de uma aplicação desenvolvida
> e pode ocorrer de dois ou mais usuários chamarem ao mesmo tempo a aplicação
> que utilizam a mesma estrutura de tabelas auxiliares pra tratamento dos
> dados.
>
>
> ___________________________________
>
> Wagner Franze Junior
> E-MAIL: [EMAIL PROTECTED] <zenfra123%40yahoo.com.br>
> MSN: [EMAIL PROTECTED] <franze_jr%40hotmail.com>
> Brasil - São paulo - Sp
>
> :-)
>
> ----- Mensagem original ----
> De: Leonardo Rezende <[EMAIL PROTECTED] <yahoo%40lrezende.eti.br>>
> Para: [email protected] <oracle_br%40yahoogrupos.com.br>
> Enviadas: Terça-feira, 29 de Abril de 2008 17:31:52
> Assunto: Re: [oracle_br] tabela temporaria
>
> Eu não estou entendendo! Porque você precisa de temporary tables com
> nomes diferentes.. . As suas tabelas auxiliares seriam temporary tables
> com nome fixos... E você sempre as usaria para sua rotina.
>
> Eu não estou conseguindo visualizar o seu ambiente... Mesmo assim, não
> há problema em temporary table com execute immediate...
>
> Temporary table são tabelas que existem independente de você estar
> conectado... Você não tem que criar a tabela sempre que conectar! Os
> dados é que são voláteis e são armazenados momentaneamente na tbs
> temporária.
>
> Dá uma olhada nos docs.
> http://download. oracle.com/ docs/cd/B19306_ 01/server. 102/b14200/
> statements_ 7002.htm# i2153132
>
> Wagner Franze Junior escreveu:
> >
> >
> > O complicado é que terei que utilizar execute immediate em todas as
> > execuções dentro do bloco PLSQL.
> >
> > ____________ _________ _________ _____
> >
> > Wagner Franze Junior
> > E-MAIL: [EMAIL PROTECTED] com.br <mailto:zenfra123% <zenfra123%25>
> 40yahoo.com. br>
> > MSN: [EMAIL PROTECTED] com <mailto:franze_ jr%40hotmail. com>
> > Brasil - São paulo - Sp
> >
> > :-)
> >
> > ----- Mensagem original ----
> > De: Leonardo Rezende <[EMAIL PROTECTED] eti.br
> > <mailto:yahoo% <yahoo%25> 40lrezende. eti.br>>
> > Para: [EMAIL PROTECTED] os.com.br <mailto:oracle_ br%40yahoogrupos .
> com.br>
>
> > Enviadas: Terça-feira, 29 de Abril de 2008 16:05:34
> > Assunto: Re: [oracle_br] tabela temporaria
> >
> > Eu acho que o caminho é temporary table mesmo, e que você não precisa
> > pegar sid nenhum. Os dados das tabelas temporários só são vistos dentro
> > da sessão/transaçã o.
> >
> > Wagner Franze Junior escreveu:
> > >
> > >
> > > Boa tarde,
> > >
> > > Gostaria de uma opnião sobre uma aplicação que preciso desenvolver em
> > PLSQL.
> > >
> > > Possuo uma aplicação em Shell Script que executa um arquivo .sql onde
> > > existe uma aplicação
> > > PLSQL que faz seleções de registros a partir de filtros informados
> pelo
> > > usuário e que insere em tabelas
> > > auxiliares esse registros para serem tratados.
> > >
> > > O problema é que essa aplicação pode ser acessada por usuários da rede
> > > ao mesmo tempo e se eu possuir
> > > tabelas auxiliares fixas podem ocorrer erros já que essas tabelas são
> > > limpas cada vez que a aplicação é executada.
> > >
> > > O que eu precisaria é criar tabelas auxiliares do tipo temporarias em
> > > tempo de execução, executar o processo e acabar com essa tabela
> > > posteriormente.
> > >
> > > Gostaria de uma opnião de vocês sobre essa cena..
> > >
> > > Minha intenção é pegar o sid da sessão atual e criar a tabela
> temporaria
> > > utilizando o execute immediate...
> > >
> > > O que vocês acham?
> > >
> > > ____________ _________ _________ _____
> > >
> > > Wagner Franze Junior
> > > E-MAIL: [EMAIL PROTECTED] com.br <mailto:zenfra123% <zenfra123%25>
> 40yahoo.com. br>
> > > MSN: [EMAIL PROTECTED] com <mailto:franze_ jr%40hotmail. com>
> > > Brasil - São paulo - Sp
> > >
> > > :-)
> > >
> > > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> > > armazenamento!
> > > http://br.mail. yahoo.com/ <http://br.mail. yahoo.com/>
> > >
> > >
> >
> > --
> >
> > Sds,
> >
> > Leonardo Rezende
> > Analista Desenvolvedor
> > [EMAIL PROTECTED] eti.br
> >
> >
> > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> > armazenamento!
> > http://br.mail. yahoo.com/ <http://br.mail. yahoo.com/>
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
>
> --
>
> Sds,
>
> Leonardo Rezende
> Analista Desenvolvedor
> [EMAIL PROTECTED] eti.br
>
>
> Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> armazenamento!
> http://br.mail.yahoo.com/
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Atenciosamente,
Gleyson Melo
Oracle Database 10g Administrator Certified Professional


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

Responder a