简体   繁体   English

在phpmyadmin中运行程序mysql时出错

[英]error when running procedure mysql in phpmyadmin

I found this procedure here in the mantis database and need to run it straight to the bank to see what results it will bring , but do not know how to perform this procedure , which way to understand this ?我在mantis数据库里找到了这个程序,需要直接跑到银行去看看会带来什么结果,但是不知道这个程序怎么执行,从哪个途径理解? How do you perform this procedure specifies?你如何执行这个程序指定?

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 - Incorrect number of arguments for PROCEDURE testlink.PR_SEL_RELAT_PRODUTIVIDADE; #1318 - PROCEDURE testlink.PR_SEL_RELAT_PRODUTIVIDADE 的参数数量不正确; expected 4, got 0预期 4,得到 0

You execute a procedure using CALL ( documentation ).您使用CALL文档)执行一个过程。 With your procedure, you execute it using:使用您的程序,您可以使用以下命令执行它:

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

For example:例如:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM