0

我这里有一个包含 3 个字段的磁带表:

磁带

  TapesID      Title       Qty

     T1     BatDog         3

     T2    UnderCat        2

     T3    IronMouse       1

     T4    Boys Zone       1

     T5    RoboCat         1

我想创建一个存储过程,通过输入磁带标题作为过程的参数来提取和显示磁带的特定 ID。该过程应称为 list_tspec_id。

你能帮帮我吗?我很难解决这个问题......

这是我的代码,但它不正确:

create procedure tapesid
@columnname varchar
AS
begin
select @columnname from tapes
end 
exec tapesid 'title'
4

1 回答 1

1

您已将其标记为MySQL,所以......这是一个存储过程,尽管从您的示例中不清楚您真正想要它做什么或为什么。

作为参数传递给存储过程的变量不要在它们前面使用'@'。

DELIMITER $$

CREATE PROCEDURE list_tspec_id (IN my_title VARCHAR(254))
BEGIN

  SELECT TapesID, Title, Qty FROM Tapes WHERE Title = my_title;

END $$
DELIMITER ;

然后...

mysql> CALL list_tspec_id('BatDog');
于 2013-01-17T23:40:39.127 回答