怎么将sql server 存储过程转为Mysql的

如何将sql server 存储过程转为Mysql的SQL code/* table name:Clients*/CREATE PROCEDURE [sp_Clients]@sp

如何将sql server 存储过程转为Mysql的

SQL code
/* table name:Clients  */CREATE PROCEDURE [sp_Clients]@sp_sort varchar(20)=NULL,@max_column_name varchar(30)=NULL,/*max字段名*/@Spcial_field varchar(50)=NULL,/*查找指定的字段*/@Spcial_field_value varchar(50)=NULL,/*查找指定的字段的值*/@sp_return int=NULL output,@ClientId int=NULL,/*顾客ID*/@ClientsName varchar(50)=NULL,/*顾客名称*/@ClientsDescription varchar(50)=NULL,/*顾客描述*/@Phones varchar(100)=NULL,/*电话号码*/@ContactPeople varchar(60)=NULL,/*联系人*/@MobilePhone varchar(30)=NULL,/*手机*/@Remark varchar(400)=NULL/*备注*/AS/*================== insert data ======================*/if @sp_sort='sp_insert'BEGIN /* todo ...省略*/END/*================== update data ======================*/else if @sp_sort='sp_update'BEGIN /* todo ...省略*/END/*================== get max id ======================*//* 如何转成 mysql */else if @sp_sort='sp_getmaxid'BEGIN    declare @sql_max varchar(100);      set @sql_max ='SELECT ';    set @sql_max=@sql_max+' ISNULL(MAX('+@max_column_name+'),'''') FROM Clients'    EXECUTE (@sql_max); END/*================== judge the record is exist or not ======================*//* 如何转成 mysql */else if @sp_sort='sp_exists'BEGIN    SELECT @sp_return = count(1) FROM Clients WHERE [ClientId]=@ClientId      IF @sp_return <> 0    BEGIN        set @sp_return=1    END    RETURN @sp_returnEND/*============== judge the special record is exist or not ==================*//* 如何转成 mysql */else if @sp_sort='sp_exists_special'BEGIN    declare @sql_field varchar(200);    set @sql_field=N'SELECT @sp_return = count(1) FROM Clients WHERE ' + @Spcial_field + ' = ''' + @Spcial_field_value+''''     EXEC sp_executesql @sql_field,N'@sp_return int output',@sp_return output  END/*================== get model (a record) ======================*/else if @sp_sort='sp_getmodel'BEGIN /* todo ...省略*/ENDGO


PS:在sql server 的存储过程中的参数,如果程序没有必要调用的话,可以不传,在存储过程写 参数=NULL就可以了,
如:@ClientId int=NULL ,不知mysql 是如何写的?谢谢。

[解决办法]
引用PS:在sql server 的存储过程中的参数,如果程序没有必要调用的话,可以不传,在存储过程写 参数=NULL就可以了,
如:@ClientId int=NULL ,不知mysql 是如何写的?谢谢。