存储过程返回了错误的数据

时间:2018-11-02 03:27:38

标签: mysql-workbench

我是mysql工作台的新手,已经创建了一个表

    # thing, legs, arms, mySerial
    'human', '2', '2', '1'
    'insect', '6', '0', '2'
    'squid', '0', '10', '3'
    'fish', '0', '0', '4'
    'centipede', '100', '0', '5'
    'table', '4', '0', '6'
    'armchair', '4', '2', '7'
    'phonograph', '0', '1', '8'
    'tripod', '3', '0', '9'
    'Peg Leg Pete', '1', '2', '10'
    'space alien', NULL, NULL, '11'
    'human', '2', '2', '12'
    'insect', '6', '0', '13'
    'squid', '0', '10', '14'
    'fish', '0', '0', '15'
    'centipede', '100', '0', '16'
    'table', '4', '0', '17'
    'armchair', '4', '2', '18'
    'phonograph', '0', '1', '19'
    'tripod', '3', '0', '20'
    'Peg Leg Pete', '1', '2', '21'
    'space alien', NULL, NULL, '22'

当我输入事物的名称时,我想使用存储过程向我返回腿数。

我的存储过程如下:

    Delimiter $$

    USE cookbook$$
    drop procedure IF exists get_obj_name$$


    CREATE PROCEDURE get_obj_name (IN object VARCHAR(24),out legs int)
    BEGIN

    Select legs from limbs where thing = object;

    END$$

    Delimiter ;


    set @thing = 'armchair';
    call cookbook.get_obj_name(@thing, @legs);

我没有得到扶手椅的腿数,而是得到了:

    legs
    Null
    Null
    Null

有人知道使用存储过程的正确方法吗?

0 个答案:

没有答案