如何将存储过程从MS SQL转换为MySql

时间:2017-10-08 14:48:36

标签: mysql sql sql-server

当我尝试在MySql上编写存储过程时,我有问题,

我在SQL Server上的程序是:

//// SQL Server ///

create Proc [dbo].[P_TestSup] @para1 int, @para2 bit output as  
begin
        select @para2= count(IdCV) from CommandeVente,Client where
      CommandeVente.IdClnCV=Client.IdCln and IdCln=@para1   
End

我尝试在MySQL上写它但是它不正确

  

错误:检查与MySQL服务器版本对应的手册   在'第3行'附近使用正确的语法

////// MySql //////

CREATE PROCEDURE P_TestSup(IN para1 INT, OUT para2 bit) 
begin 
select count(commandevente.idcv) into para2 from commandevente,client 
   where commandevente.idclncv= client.idcln and client.idcln=para1;
End

1 个答案:

答案 0 :(得分:0)

也许你的问题是缺少DELIMITER陈述。并修复JOIN语法。以及输出参数的类型。另外,我会注意命名。

这样的事情:

DELIMITER $$

CREATE PROCEDURE P_TestSup(
    in_para1 INT,
    OUT out_para2 INT
) 
BEGIN 
    SELECT count(commandevente.idcv) into out_para2 
    FROM commandevente ce
         client c
         ON ce.idclncv = c.idcln ;
END;$$

DELIMITER ;