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]
