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 に答える