在MySQL存储过程中设置NULL参数

时间:2013-11-13 04:25:38

标签: mysql sql sql-server stored-procedures

我正在尝试将存储过程从MS SQL转换为MySQL,因此在MSSQL中我使用的参数默认值为NULL

`ALTER PROCEDURE [dbo].[sp_GLB_Users_S]
(
    @selType    int     =NULL,
    @ID     int     =NULL,
    @LoginID    varchar(20) =NULL,
    @UserCode   varchar(50) =NULL,
    @UserCategory   int     =NULL,
    @UserName   varchar(150)    =NULL,
    @EMail      varchar(100)    =NULL,
    @IsActive   bit     =NULL
)`

如何在MySQL中使用NULL接受的参数

`CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_GLB_Users_S`(

IN selType  INTEGER,
IN ID       INTEGER,
    IN LoginID  VARCHAR(20),
    IN UserCode     VARCHAR(50),
    IN UserCategory INTEGER,
    IN UserName     VARCHAR(150),
    IN EMail    VARCHAR(100),
    IN IsActive     BOOLEAN
)`

1 个答案:

答案 0 :(得分:4)

简短的回答是,即使在5.7中,MySQL仍然对常规参数缺乏对默认值的支持

使用会话变量而不是实际参数有一种解决方法,但个人恕我直言,它不值得。