我这里有一个包含 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'
最佳答案
您已将其标记为 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');
关于mysql存储过程,使用列名作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14389973/