私はMySQLには新しく、簡単な手順を作成しようとしています。このプロシージャは、列名である引数を受け取り、引数として渡された列によって行が順序付けされている表を戻す必要があります。mysqlで手続きを正しく作成するには?
delimiter //
CREATE PROCEDURE OrderMyTableBy (ColumnName varchar(45))
BEGIN
SELECT *
FROM items
ORDER BY ColumnName;
END;//
delimiter ;
手順が正常に作成されます。ここでは
は、私がこれまでに書いたものです。次のように
その後、私はそれを呼び出す:
CALL OrderMyTableBy('price')
私は価格で注文した行せずにテーブルを取得していますその結果。私はこのクエリのために得る普通のテーブルを持っています:SELECT * FROM items
。だから基本的には、ColumnNameは無視されるようです。
注:CALL OrderMyTableBy(helloworld)
:私は手順この方法を呼び出す場合。このエラーが発生します:
Error Code: 1054. Unknown column 'helloworld' in 'field list'
私の質問は明らかでした。詳細が必要な場合は下記にコメントしてください。 ありがとう!
Mybeは助けることができますhttp://dev.mysql.com/doc/refman/5.7/en/create-procedure.html – Sami