2016-05-31 43 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

您執行使用CALLdocumentation)的過程。 隨着你的程序,你執行它使用:

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

例如:

CALL PR_SEL_RELAT_PRODUTIVIDADE(3, 4, 'foo', 5);