2017-04-03 13 views

答えて

3

あなたは、テーブル内の列の名前、ステータスを持っているように、いくつかの他の名前を使用してパラメータを呼び出します。

通常、パラメータの接頭辞はp_、ローカル変数はv_です。

CREATE PROCEDURE STUDENTS_BY_STATUS(p_status VARCHAR(10)) 
BEGIN  
    SELECT BannerId, Name FROM STUDENT WHERE Status = p_status; 
END // 
+0

ありがとうございます!なぜ私の教授がこの矛盾を知る必要があるにしても、このパラメータをステータスとして持つように私に依頼した理由はわかりません。 –

+0

@KyleJ - 彼はあなたをテストしていたかもしれません。 ;) – GurV

2
DROP PROCEDURE IF EXISTS STUDENTS_BY_STATUS; 

DELIMITER // 

CREATE PROCEDURE STUDENTS_BY_STATUS(IN statusIn VARCHAR(10)) 

BEGIN 

    SELECT BannerId, Name FROM STUDENT WHERE Status=statusIn; 

END // 

DELIMITER ; 

マークそれのparamのようにとのparamのために切り抜いた名前を使用します。

+1

これはデフォルトでは 'IN'です。明示的に指定する必要はありません – GurV

関連する問題