Ajuda com uma Trigger de Conta!
Olá, tenho uma tabela de nome CONTA, com os seguintes campos: CONTA(*), CLIENTE, VALOR, VALORATUAL, TIPO, DATA
o Campo CONTA é primario, e o CLIENTE tem o código do cliente em questao..
bem, isso aih é a conta do cliente da seguinte maneira:
2 00001 10 10 C 00/00/0000
3 00001 10 20 C 00/00/0000
4 00001 10 20 D 00/00/0000
5 00002 10 0 I 00/00/0000
ou seja, no Tipo:
C -> Credito (acrescenta)
D -> Debito (diminui)
pois, bem, minha questao é, queria uma trigger que ao modificar algum registro orderne por data e comece a fazer os calculos apartir do primeiro registro.
Entao é isso, se alguem puder me ajuda agradeco imensamente... :D
desde ja obrigado!
[]s
o Campo CONTA é primario, e o CLIENTE tem o código do cliente em questao..
bem, isso aih é a conta do cliente da seguinte maneira:
2 00001 10 10 C 00/00/0000
3 00001 10 20 C 00/00/0000
4 00001 10 20 D 00/00/0000
5 00002 10 0 I 00/00/0000
ou seja, no Tipo:
C -> Credito (acrescenta)
D -> Debito (diminui)
pois, bem, minha questao é, queria uma trigger que ao modificar algum registro orderne por data e comece a fazer os calculos apartir do primeiro registro.
Entao é isso, se alguem puder me ajuda agradeco imensamente... :D
desde ja obrigado!
[]s
Titanius
Curtidas 0
Respostas
Afarias
19/03/2005
um crédito por conta? não entendi.
T+
T+
GOSTEI 0
Titanius
19/03/2005
Olá, no caso seria uma tabela com o movimento da conta (tipo extrato bancario) de todos os clientes
se o cliente comeca com 100,00
D 10,00 Total: 90,00
C 50,00 Total: 140,00
e assim vai...
porem deveria ser por data, se eu adicionar um com uma data anterior a final, ele deveria pegar o primeiro registro e ir fazendo os debitos e creditos da conta...
vamos supor que na tabela tem os registros referente ao cliente 0001:
Aih adiciono um outro registro:
0001 25/10/2001 C 10,00
ficaria assim (por ordem de data):
ele refez os calculos do Valor Aual, referente ao tipo e ao valor!
Bem, acho que consegui explicar +/-, qq coisa so perguntar,
e obrigado como sempre!
[]s
se o cliente comeca com 100,00
D 10,00 Total: 90,00
C 50,00 Total: 140,00
e assim vai...
porem deveria ser por data, se eu adicionar um com uma data anterior a final, ele deveria pegar o primeiro registro e ir fazendo os debitos e creditos da conta...
vamos supor que na tabela tem os registros referente ao cliente 0001:
cliente data tipo valor valoratual 0001 20/10/2001 C 10,00 0,00 <-- Porque é o primeiro registro 0001 22/10/2001 C 10,00 20,00 0001 23/10/2001 D 10,00 10,00 0001 24/10/2001 C 10,00 20,00 0001 01/11/2001 D 10,00 10,00 0001 02/11/2001 C 10,00 20,00 Saldo final.: 20,00
Aih adiciono um outro registro:
0001 25/10/2001 C 10,00
ficaria assim (por ordem de data):
cliente data tipo valor valoratual 0001 20/10/2001 C 10,00 0,00 <-- Porque é o primeiro registro 0001 22/10/2001 C 10,00 20,00 0001 23/10/2001 D 10,00 10,00 0001 24/10/2001 C 10,00 20,00 0001 25/10/2001 C 10,00 30,00 <<-- o registro adicionado 0001 01/11/2001 D 10,00 20,00 0001 02/11/2001 C 10,00 30,00 Saldo final.: 30,00
ele refez os calculos do Valor Aual, referente ao tipo e ao valor!
Bem, acho que consegui explicar +/-, qq coisa so perguntar,
e obrigado como sempre!
[]s
GOSTEI 0
Pedih
19/03/2005
Olá, no caso seria uma tabela com o movimento da conta (tipo extrato bancario) de todos os clientes
se o cliente comeca com 100,00
D 10,00 Total: 90,00
C 50,00 Total: 140,00
e assim vai...
porem deveria ser por data, se eu adicionar um com uma data anterior a final, ele deveria pegar o primeiro registro e ir fazendo os debitos e creditos da conta...
vamos supor que na tabela tem os registros referente ao cliente 0001:
Aih adiciono um outro registro:
0001 25/10/2001 C 10,00
ficaria assim (por ordem de data):
ele refez os calculos do Valor Aual, referente ao tipo e ao valor!
Bem, acho que consegui explicar +/-, qq coisa so perguntar,
e obrigado como sempre!
[]s
cliente data tipo valor valoratual 0001 20/10/2001 C 10,00 0,00 <-- Porque é o primeiro registro 0001 22/10/2001 C 10,00 20,00 0001 23/10/2001 D 10,00 10,00 0001 24/10/2001 C 10,00 20,00 0001 01/11/2001 D 10,00 10,00 0001 02/11/2001 C 10,00 20,00 Saldo final.: 20,00
cliente data tipo valor valoratual 0001 20/10/2001 C 10,00 0,00 <-- Porque é o primeiro registro 0001 22/10/2001 C 10,00 20,00 0001 23/10/2001 D 10,00 10,00 0001 24/10/2001 C 10,00 20,00 0001 25/10/2001 C 10,00 30,00 <<-- o registro adicionado 0001 01/11/2001 D 10,00 20,00 0001 02/11/2001 C 10,00 30,00 Saldo final.: 30,00
Sugestao.
nesta tabela, ou na tabela de tipos de lancamentos, crie um campo, chamado por exemplo de: INDEXADOR
valor deste campo
se o Lancamento for Credito, poe 1, se for Debito poe -1
ae, manda dar uma sum
SELECT SUM(VALOR*INDEXADOR) AS SALDOFINAL FROM <TABELA> order by DATA
Acho que assim resolveria seu problema, qualquer coisa, estamos aqui.
T+
GOSTEI 0
Titanius
19/03/2005
Certo amigo, porem não consegui entender a lógica desse comando..
Desculpe-me, mas sou novato nesse esquema :D
Obrigado,
[]s
Desculpe-me, mas sou novato nesse esquema :D
Obrigado,
[]s
GOSTEI 0