存储过程的参数

存储过程的参数

存储过程如何与调用者进行交互呢,交互方式之一就是参数。

存储过程的参数

存储过程的参数

Call test3(2)

存储过程的参数

存储过程的参数

存储过程的参数

注意:声明变量的那句话就不需要了!!(参数、 名字、 类型 )

存储过程的参数

查询:

SET @uname:='';

CALL test4(2,@uname);

SELECT @uname AS myunameAA

结果:

存储过程的参数

其实:end前面的select my_uname也是不需要的,因为已经有了out参数来接受返回的值。

DELIMITER $$

CREATE

    PROCEDURE `procedure`.`test4`(IN my_uid INT,OUT my_uname VARCHAR(32))

    BEGIN

    SELECT uname INTO my_uname FROM users WHERE uid = my_uid;

    END$$

DELIMITER ;

询问:

SET @uname:='';

CALL test4(1,@uname);

SELECT @uname AS myunameA

结果:

存储过程的参数

总是有9B的出现,搞了好几次,不知道为什么????????

存储过程的参数

存储过程的参数

DELIMITER $$

CREATE

    PROCEDURE `procedure`.`test5`(INOUT my_uid INT,INOUT my_uname VARCHAR(32))

    BEGIN

         SET my_uid =2;

         SET my_uname ='lhh';

         SELECT uid,uname INTO my_uid,my_uname FROM users WHERE uid = my_uid;

    END$$

DELIMITER ;

查询:

SET @uid:=0;

SET @uname:='';

CALL test5(@uid,@uname);

SELECT @uid AS uidA, @uname AS myunameA

存储过程的参数 又出现6B,醉了。

存储过程的参数