Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL存储过程中的错误_Mysql - Fatal编程技术网

MySQL存储过程中的错误

MySQL存储过程中的错误,mysql,Mysql,我有一个小问题,我没有解决它 CREATE PROCEDURE selection_socioprof(IN age INT,IN prof varchar(50)) BEGIN declare calcul number; declare prc_cat number; declare nb_particip number; SELECT COUNT(*) INTO nb_particip FROM questionnaire; SELECT COUNT(*) INTO calcul FR

我有一个小问题,我没有解决它

CREATE PROCEDURE selection_socioprof(IN age INT,IN prof varchar(50))
BEGIN

declare calcul number;
declare prc_cat number;
declare nb_particip number;
SELECT COUNT(*) INTO nb_particip FROM questionnaire;
SELECT COUNT(*) INTO calcul 
FROM questionnaire
where question2=age AND question3=prof;
prc_cat:=(calcul/nb_particip)*100;
concat('le pourcentage des participants aux jeux SMS ayant la
 catégorie        socioprofessionnelle choisie est',prc_cat);

END;
这就是错误:


1064-您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 第3行“编号”附近

使用以下代码:

delimiter $$
CREATE PROCEDURE selection_socioprof(IN age INT,IN prof varchar(50))
 BEGIN
 declare calcul int(10);
 declare prc_cat int(10);
 declare nb_particip int(10);
 SELECT COUNT(*) INTO nb_particip FROM questionnaire;
 SELECT COUNT(*) INTO calcul FROM questionnaire where question2=age AND question3=prof;
 set prc_cat=(calcul/nb_particip)*100; 
select concat('le pourcentage des participants aux jeux SMS ayant la catégorie socioprofessionnelle choisie est',prc_cat); END $$
delimiter ;
尝试:


我尝试了这个解决方案,但是错误还没有解决!!这是新的错误:1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第4行“创建过程选择”中使用的正确语法,在prof varchar50 BEGIN declare calcul int10、declare nb_particip int10、declare nb_particip int10、declare nb_particip int10、,从调查问卷中选择计数到nb_particip;从问卷中选择计数到计算,其中问题2=年龄,问题3=教授;中华人民共和国类别:=计算/不可分割*100;中华人民共和国猫协会“猫的社会职业参与者”会议;终止使用分隔符,检查正确的SP语法
 DELIMITER //
 CREATE PROCEDURE selection_socioprof(IN age INT,IN prof VARCHAR(50))
 BEGIN
    DECLARE calcul INT; 
    DECLARE prc_cat INT; 
    DECLARE nb_particip INT;

    SELECT COUNT(*) INTO nb_particip FROM questionnaire;
    SELECT COUNT(*) INTO calcul FROM questionnaire  WHERE question2=age AND question3=prof;
    SET prc_cat := (calcul/nb_particip)*100;
    SELECT CONCAT('le pourcentage des participants aux jeux SMS ayant la catégorie socioprofessionnelle choisie est',prc_cat);

  END; //
  DELIMITER //