mysql - 将 SQL 查询转换为 MySQL

标签 mysql t-sql phpmyadmin

我需要将此 tSQL 查询转换为 MySQL 查询版本 5.7.14 我尝试使用以下语法声明参数

declare @commissionType INT;

但我陷入了死胡同,需要帮助来转换此查询

CREATE PROCEDURE MyProc
@chainId int
as 
BEGIN
    declare @commissionMethod int
    declare @commissionType int
    declare @value decimal(18,2)

    set @commissionMethod = 1
    set @value = 200000
    set @commissionType = (select  CommissionType from CommissionRules 
    where ChainId = @chainId )

        IF(@commissionMethod = 1)
        BEGIN
            print('alert')
            select (Fixed * @value) / 100 from CommissionRules where ChainId = @chainId  
        END
END

最佳答案

这几乎是字面转换。但检查一下你的逻辑。这没有任何意义。 v_commissionMethod 始终为 1,并且在选择值后甚至不会使用 v_commissionType

 DELIMITER //

    CREATE PROCEDURE MyProc (
    p_chainId int)
    BEGIN
        declare v_commissionMethod int;
        declare v_commissionType int;
        declare v_value decimal(18,2);

        set v_commissionMethod = 1;
        set v_value = 200000;
        select  CommissionType into v_commissionType from CommissionRules 
        where ChainId = p_chainId ;

            IF(v_commissionMethod = 1)
            THEN
                /* print('alert') */
                select (Fixed * v_value) / 100 from CommissionRules where ChainId = p_chainId;  
            END IF;
    END;
    //

    DELIMITER ;

关于mysql - 将 SQL 查询转换为 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45746792/

相关文章:

Mysql 多个唯一键

javascript - 如何在不刷新php页面的情况下跟踪mysql数据库的变化?

sql - 如何通过未知文件在SQL Server中设置数据库?

t-sql - 日期范围交点

sql - 插入使用值

mysql - PhpMyAdmin 不会生成正确的 JSON 导出文件吗?在 Unix 上用什么替换 ^M 字符?

mysql - 在 MSSQL IN 子句中使用复杂键

php - mysql - 列计数与行的值计数不匹配

mysql - 通过 MySQL (phpmyadmin) 恢复密码?

php - 外键值不显示