2016-05-31 4 views
-2

이 프로 시저는 mantis 데이터베이스에서 발견되었으며 어떤 결과를 가져올 지 은행에 직접 문의해야하지만이 프로 시저를 수행하는 방법을 이해하는 방법을 알지 못합니다 이 ? 이 절차를 어떻게 수행합니까?phpMyAdmin에서 프로 시저 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; 

# 1318 - 절차 testlink.PR_SEL_RELAT_PRODUTIVIDADE의 인수 잘못된 번호; 4 예상 0

답변

1

당신은 CALL (documentation)를 사용하여 프로 시저를 실행 있어요. 예를 들어

CALL PR_SEL_RELAT_PRODUTIVIDADE([int], [int], [string], [int]); 

: 프로 시저와 , 당신은 그것을 사용하여 실행

CALL PR_SEL_RELAT_PRODUTIVIDADE(3, 4, 'foo', 5); 
관련 문제