0
Ich habe dieses Verfahren und kann es normal ausführen, aber nicht wissen, wie man es zählt, jetzt hinter mir einen Bericht Zeile für Zeile und ich muss die Tabelle herunterladen, um rs zu zählen Linien Wie kann ich sie dazu bringen, mir einen Bericht zu bringen?Einfügen einer Zählungsprozedur in Mysql
DROP PROCEDURE IF EXISTS testlink.PR_SEL_RELAT_PRODUTIVIDADE;
CREATE PROCEDURE testlink.`PR_SEL_RELAT_PRODUTIVIDADE`(
idProjetoTestLink INT,
idPlanoTeste INT,
DataReferencia VARCHAR(10),
idProjetoMantis INT)
BEGIN
DECLARE vDataReferencia DATE;
DECLARE vIdQuery char(36);
/* Carrega os dias Testes na tabela Tempor?ria */
SELECT FN_SELECIONA_CASO_TESTES(idProjetoTestLink, idPlanoTeste)
INTO vIdQuery;
SELECT DATE(DataReferencia)
INTO vDataReferencia;
SELECT a.username,
a.realname,
sum(a.falha) falha,
sum(a.passou) passou,
SUM(a.bloqueado) bloqueado,
sum(a.EmExecucao) EmExecucao,
sum(a.DefeitosFechados) DefeitosFechados,
sum(a.DefeitosReabertos) DefeitosReabertos
FROM (SELECT X.LOGIN_TESTER username,
X.NOME_TESTER realname,
CASE STATUS WHEN 'f' THEN 1 ELSE 0 END Falha,
CASE STATUS WHEN 'p' THEN 1 ELSE 0 END Passou,
CASE STATUS WHEN 'b' THEN 1 ELSE 0 END Bloqueado,
0 EmExecucao,
0 DefeitosFechados,
0 DefeitosReabertos
FROM testlink.tmp_result_report X
WHERE X.ID_QUERY = vIdQuery
AND X.DATA_EXECUCAO = vDataReferencia
UNION ALL
SELECT X.LOGIN_TESTER username,
X.NOME_TESTER realname,
0 Falha,
0 Passou,
0 Bloqueado,
CASE STATUS WHEN 'r' THEN 1 ELSE 0 END EmExecucao,
0 DefeitosFechados,
0 DefeitosReabertos
FROM testlink.tmp_result_report X
WHERE X.ID_QUERY = vIdQuery
UNION ALL
SELECT user.username,
user.realname,
0 Falha,
0 Passou,
0 Bloqueado,
0 EmExecucao,
CASE WHEN bug.resolution <> 30 THEN 1 ELSE 0 END
DefeitosFechados,
CASE WHEN bug.resolution = 30 THEN 1 ELSE 0 END
DefeitosReabertos
FROM mantis.mantis_bug_table bug,
mantis.mantis_category_table categ,
mantis.mantis_user_table user
WHERE bug.project_id = idProjetoMantis
AND bug.category_id = categ.id
AND bug.status = 90 -- Fechado
AND bug.resolution <> 10 -- Aberto
AND date(FROM_UNIXTIME(bug.last_updated)) = vDataReferencia
AND bug.reporter_id = user.id) a
WHERE a.username IS NOT NULL
GROUP BY a.username;
END;
Das ist wie MySQL sieht so entfernte ich die Oracle-Tag. –
Verwenden Sie die Programmiersprache, die den gespeicherten Prozess aufruft – Drew