Criar Tabela Temporária no Interbase
Estou utilizando o Delphi com Interbase 6.0 e necessito criar uma tabela temporária no banco e está tabela deverá ser visualizada por cada conexão de forma única. Onde o usuário 01 tenha sua tabela temporária cujo nome será Tab01 e o usuário 02 tenha a sua temporária com o mesmo nome Tab01. Utilizo o SQL Server e ele gerencia as conexôes de forma independete e não gerar conflito de nome de objeto.
Amarocoutinho
Curtidas 0
Respostas
Afarias
16/12/2003
Tabelas Temporárias no SGBD não são uma prática normal ou ´correta´
Vc deveria criá-las nos clientes (estações) como arquivos temporários ou tabelas de memória.
Entretanto, embora não seja uma boa prática e no IB vc não possa fazer da forma como quer, a ´solução´ seria manter uma tabela ´TEMPORÁRIA´ fixa... e fazer apenas q os registros sejam temporários.
Uma vez q o usuário NUNCA commit as atualizações dos registros da tabela, estes registros são vistos apenas por ele. No final dos processos, basta dar um ROLLBACK na transação ´desta tabela´.
T+
Vc deveria criá-las nos clientes (estações) como arquivos temporários ou tabelas de memória.
Entretanto, embora não seja uma boa prática e no IB vc não possa fazer da forma como quer, a ´solução´ seria manter uma tabela ´TEMPORÁRIA´ fixa... e fazer apenas q os registros sejam temporários.
Uma vez q o usuário NUNCA commit as atualizações dos registros da tabela, estes registros são vistos apenas por ele. No final dos processos, basta dar um ROLLBACK na transação ´desta tabela´.
T+
GOSTEI 0
Amarocoutinho
16/12/2003
Prezado Farias,
Obrigado por informar que o Interbase não permite criar a tabela temporária. Mas com relação a sua colocação de que criar Tabelas Temporárias no SGDB não é uma prática normal ou ´correta´, não tenho conhecimento de tal informação e pelo contrário é uma técnica que poucos conhecem e quando bem utilizado gera excelente resultados de performance.
Obrigado por informar que o Interbase não permite criar a tabela temporária. Mas com relação a sua colocação de que criar Tabelas Temporárias no SGDB não é uma prática normal ou ´correta´, não tenho conhecimento de tal informação e pelo contrário é uma técnica que poucos conhecem e quando bem utilizado gera excelente resultados de performance.
GOSTEI 0
Aroldo Zanela
16/12/2003
Colega,
Veja mais uma opinião do TeamB.
[quote:7193dbf8e1=´Bill (TeamB)´]Paradox does not have transaction control. InterBase does. Simply
start a transaction, insert, delete and update rows in as many tables
as you wish. If you want to save the changes and make them visible to
other users commit the transaction. If you do not, rollback the
transactions and everything is undone.
--
Bill (TeamB)
(TeamB cannot respond to questions received via email)[/quote:7193dbf8e1]
Veja mais uma opinião do TeamB.
[quote:7193dbf8e1=´Bill (TeamB)´]Paradox does not have transaction control. InterBase does. Simply
start a transaction, insert, delete and update rows in as many tables
as you wish. If you want to save the changes and make them visible to
other users commit the transaction. If you do not, rollback the
transactions and everything is undone.
--
Bill (TeamB)
(TeamB cannot respond to questions received via email)[/quote:7193dbf8e1]
GOSTEI 0
Afarias
16/12/2003
|não tenho conhecimento de tal informação
Agora tem. Pra isso servem os fóruns. ;)
|e pelo contrário é uma técnica que poucos conhecem e quando bem
|utilizado gera excelente resultados de performance.
É uma técnica usada por muitos, mas não em sistemas C/S sérios. Não há argumento contra os fatos -- quem trabalha com sistemas multi-usuáros sabe o custo de ficar mandando e recebendo informações na rede. Sendo assim, tabelas temporárias locais são uma melhor opção - é muito mais rápido gravar e ler na própria máquina q enviar na rede e depois ler de volta não??
Bom, vc pode ter um caso particular q precise criar ´tabelas temporárias´ no servidor... mas em sistemas C/S a regra é:: ´registros temporários´ -- o metadata é algo fixo.
T+
Agora tem. Pra isso servem os fóruns. ;)
|e pelo contrário é uma técnica que poucos conhecem e quando bem
|utilizado gera excelente resultados de performance.
É uma técnica usada por muitos, mas não em sistemas C/S sérios. Não há argumento contra os fatos -- quem trabalha com sistemas multi-usuáros sabe o custo de ficar mandando e recebendo informações na rede. Sendo assim, tabelas temporárias locais são uma melhor opção - é muito mais rápido gravar e ler na própria máquina q enviar na rede e depois ler de volta não??
Bom, vc pode ter um caso particular q precise criar ´tabelas temporárias´ no servidor... mas em sistemas C/S a regra é:: ´registros temporários´ -- o metadata é algo fixo.
T+
GOSTEI 0
Amarocoutinho
16/12/2003
Prezado Farias,
Em nenhum momento salientei a possibilidade de criar tabelas temporárias para retorna ou enviar dados entre Aplicação/Servidor o que realmente não seria uma decisão correta de trabalho em um sistema que contém em torno de 600 tabelas.
Os conceitos de seleção das informações em um banco de dados são muito claro e quem lida com banco em torno de 100GB sabe o que representa um SELECT errado dentro de uma aplicação.
Como o forum nos possibilita de forma clara trocarmos experiência, gostaria de saber o conceito de ´sistema C/S sérios´, pois tenho utilizado as tabelas temporárias em várias situações.
Minhas colocações são para esclarecimento e em nenhum momento terei o objetivo de utlitizar o conhecimento para disputas, mas sim para melhorar algo que posso estar fazendo de forma errada a tanto tempo, mesmo que os resultados estejam satisfatórios.
Agradeço as respontas que tem enviado.
Em nenhum momento salientei a possibilidade de criar tabelas temporárias para retorna ou enviar dados entre Aplicação/Servidor o que realmente não seria uma decisão correta de trabalho em um sistema que contém em torno de 600 tabelas.
Os conceitos de seleção das informações em um banco de dados são muito claro e quem lida com banco em torno de 100GB sabe o que representa um SELECT errado dentro de uma aplicação.
Como o forum nos possibilita de forma clara trocarmos experiência, gostaria de saber o conceito de ´sistema C/S sérios´, pois tenho utilizado as tabelas temporárias em várias situações.
Minhas colocações são para esclarecimento e em nenhum momento terei o objetivo de utlitizar o conhecimento para disputas, mas sim para melhorar algo que posso estar fazendo de forma errada a tanto tempo, mesmo que os resultados estejam satisfatórios.
Agradeço as respontas que tem enviado.
GOSTEI 0
Afarias
16/12/2003
viiiiixxxxeee!! :shock:
desconsidere a 1ª parte da minha mensagem anterior Amaro, era só uma brincadeira tá bom?! (ok, vou deixar as brincadeiras só pro Botequim do Debug então!) ;)
A segunta parte sim, era uma colocação sobre meu entendimento em desenvolvimento de aplicações C/S.
Agora, continuando nossa sadia discussão :D qual o motivo de vc criar tais tabelas temporárias se não carrega informações nelas??
T+
desconsidere a 1ª parte da minha mensagem anterior Amaro, era só uma brincadeira tá bom?! (ok, vou deixar as brincadeiras só pro Botequim do Debug então!) ;)
A segunta parte sim, era uma colocação sobre meu entendimento em desenvolvimento de aplicações C/S.
Agora, continuando nossa sadia discussão :D qual o motivo de vc criar tais tabelas temporárias se não carrega informações nelas??
T+
GOSTEI 0