Fórum Commit #52629
03/09/2005
0
Criei uma procedure que cria uma tabela temporária dentro do banco e tenta inserir alguns valores dentro dessa tabela.
Porém a tabela não é criada fisicamente, enquanto não termina a execução da procedure, acho que isto se deve pelo fato de não commitar dentro da procedure...
Tem como eu dar um commit dentro da procedure??
Uso delphi 7, DBExpress com driver da UIB.
Thomaz_prg
Curtir tópico
+ 0Posts
05/09/2005
Afarias
2- não, vc não pode controlar transações dentro de um procedimento ou trigger
T+
Gostei + 0
09/09/2005
Thomaz_prg
Fiz até um teste, não comitei após a execução, e tentei usar a instrução
CREATE TABLE ... (no ibconsole) e recebi a mensagem de que a tabela já existia.
Isso me deu ao entender que só faltava comitar para gravar fisicamente a tabela...
Será que não tem como eu fazer isso??
Só para explicar, pois talvez alguém saiba uma formamais fácil de fazer, é que quero que, na linha da tabela, seja feito tipo um histórico. P. Ex.
Tabela A
Nome Valor
A 100,00
B 50,00
C 30,00
e gostaria que aparecesse:
Nome Valor Saldo
A 100,00 100,00
B 50,00 150,00
C 30,00 180,00
Alguem tem alguma de idéia de como posso fazer isso??
Gostei + 0
09/09/2005
Afarias
com 1 simples procedimento... sem precisar criar tabela nem nada.
T+
Gostei + 0
10/09/2005
Thomaz_prg
desculpe a ignorância mas é que realmente não consegui bolar nada para resolver meu problema... poderia me dar uma ajuda??
Gostei + 0
10/09/2005
Afarias
set term ^; create procedure saldos returns ( nome varchar(10), valor numeric(9,2), saldo numeric(9,2)) begin saldo = 0; for select nome, valor from tabela order by nome into :nome, :valor do begin saldo = saldo + valor; suspend; end end^
para usar:
select * from saldos;
espero q este pequeno exemplo sirva de ajuda
T+
Gostei + 0
11/09/2005
Thomaz_prg
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)