Queria somar uma das colunas retornadas pela stored procedure.
Tem como?
somar do retorno de uma stored procedure
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
somar do retorno de uma stored procedure
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
somar do retorno de uma stored procedure
0.171 segundos
- Somar lançamentos, débitos e créditos
- Apurar lucro/prejuízo
- Atualizar contas sintéticas
São apenas perto de 1.000 lançamentos, mas vém prontinho do servidor.
Por enquanto debugando pra encontrar um cálculo errado. janeiro saiu ok mas fevereiro não.
- Somar lançamentos, débitos e créditos
- Apurar lucro/prejuízo
- Atualizar contas sintéticas
São apenas perto de 1.000 lançamentos, mas vém prontinho do servidor.
Por enquanto debugando pra encontrar um cálculo errado. janeiro saiu ok mas fevereiro não.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
somar do retorno de uma stored procedure
Pelo menos achei o motivo da diferença de valor.
Esqueci de configurar a conta de lucro/prejuízo, pra onde vai o resultado do fechamento.
Esqueci de configurar a conta de lucro/prejuízo, pra onde vai o resultado do fechamento.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
somar do retorno de uma stored procedure
A procedure do balancete, por curiosidade.
que usa esta função:
e esta outra
As outras não vou mostrar.
E executa tudo em 0.171 segundos.
Não sei como o MySQL/MariaDB fazem, mas ..... é rápido.
Código: Selecionar todos
CREATE PROCEDURE ze_ContabilBalancete( dInicial DATE, dFinal DATE, nFechamento INT(11), nGrau INT(11 ) )
BEGIN
DECLARE dFechamento DATE;
DECLARE nAno, nMes, nFechaOficial INT(11);
SET nFechaOficial := ( SELECT GREATEST( COALESCE( EMFECHA, 12 ), 1 ) FROM JPEMPRESA WHERE IDEMPRESA = 1 );
SET nAno := YEAR( dInicial );
SET dFechamento := CONCAT( LPAD( nAno - 1, 4, '0' ), '-12-31' );
IF nFechamento != 12 THEN
SET nMes := MONTH( dInicial );
SET nMes := FLOOR( ( nMes - 1 ) / nFechaOficial ) * nFechaOficial;
IF nMes <> 0 THEN
SET dFechamento := CONCAT( LPAD( nAno, 4, '0' ), '-', LPAD( nMes, 2, '0' ), '-01' );
SET dFechamento := LAST_DAY( dFechamento );
END IF;
END IF;
SELECT
JPCTCONTA.IDCTCONTA, JPCTCONTA.CPCODIGO, JPCTCONTA.CPGRAU, JPCTCONTA.CPTIPO, JPCTCONTA.CPGRUPO,
JPCTCONTA.CPNOME, SUM( b.saldo ) AS anterior, SUM( b.deb ) as entrada, SUM( b.cred ) AS saida,
nFechaOficial, nFechamento, dFechamento
FROM JPCTCONTA
LEFT JOIN
( SELECT A.CPCODIGO as analitica,
ze_ContabilSaldoExercicio( A.IDCTCONTA, DATE( DATE_ADD( dInicial, INTERVAL -1 DAY ) ), dFechamento ) AS saldo,
ze_ContabilSaldoDebito( A.IDCTCONTA, dInicial, dFinal ) AS deb,
ze_ContabilSaldoCredito( A.IDCTCONTA, dInicial, dFinal ) AS cred
FROM JPCTCONTA AS A
WHERE A.CPTIPO = 'A'
) AS b ON TRIM( JPCTCONTA.CPCODIGO ) = SUBSTR( b.analitica, 1, LENGTH( TRIM( JPCTCONTA.CPCODIGO ) ) )
WHERE JPCTCONTA.CPGRAU <= nGrau
GROUP BY JPCTCONTA.IDCTCONTA
HAVING anterior != 0 OR entrada != 0 OR saida != 0
ORDER BY CPCODIGO;
END
Código: Selecionar todos
CREATE FUNCTION ze_ContabilSaldoDebito( nIdCtConta INT(11), dInicial DATE, dFinal DATE )
RETURNS DECIMAL(16,2)
BEGIN
DECLARE nSaldo DECIMAL(16,2);
SELECT COALESCE( SUM( CTVALOR ), 0 )
FROM JPCONTABIL
WHERE CTCTADEB = nIdCtConta
AND DATE( CTDATA ) BETWEEN DATE( dInicial ) AND DATE( dFinal )
INTO nSaldo;
RETURN nSaldo;
END
Código: Selecionar todos
CREATE FUNCTION ze_ContabilSaldoCredito( nIdCtConta INT(11), dInicial DATE, dFinal DATE )
RETURNS DECIMAL(16,2)
BEGIN
DECLARE nSaldo DECIMAL(16,2);
SELECT COALESCE( SUM( CTVALOR ), 0 )
FROM JPCONTABIL
WHERE CTCTACRE = nIdCtConta
AND DATE( CTDATA ) BETWEEN DATE( dInicial ) AND DATE( dFinal )
INTO nSaldo;
RETURN nSaldo;
END
E executa tudo em 0.171 segundos.
Não sei como o MySQL/MariaDB fazem, mas ..... é rápido.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
somar do retorno de uma stored procedure
Esqueci de dizer:
Estou tendo que terminar a contabilidade na marra.
Preciso do SPED Contábil funcionando, e ele precisa de tudo funcionando.
Estou tendo que terminar a contabilidade na marra.
Preciso do SPED Contábil funcionando, e ele precisa de tudo funcionando.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
somar do retorno de uma stored procedure
Precisava do que perguntei pra debugar as informações.
Mas resolvido: eu não tinha configurado a conta de lucro/prejuízo, e o cálculo ia para o espaço, gerando a diferença.
Acabei adicionando variáveis na resposta da stored procedure.
Mas resolvido: eu não tinha configurado a conta de lucro/prejuízo, e o cálculo ia para o espaço, gerando a diferença.
Acabei adicionando variáveis na resposta da stored procedure.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/