2011-01-18 20 views
0

私はspGetVideosByLocationというMYSQL関数を持っています。現在、私はこのようにそれを呼び出す:MYSQLストアドプロシージャ/関数の動的ソート

CALL spGetVideosByLocation(location); 

これは基本的に次のようなクエリを呼び出します。

SELECT * FROM Videos WHERE LocationId = location; 

私の質問は、私は関数を呼び出すとき、ORDER BYを定義するが方法ですか?あなたはどのようなプログラミング言語を使用している

SELECT * FROM Videos WHERE LocationId = location ORDER BY tableName DESC; 
+0

私はあなたが選択することはできないと思う*選択したいものを選択してください、 //www.kbedell.com/2009/03/02/a-simple-example-of-a-mysql-stored-procedure-that-uses-a-cursor/ –

答えて

0

:これを照会するには

CALL spGetVideosByLocation(location, "tableName", DESC); 

: は、どのように私はこれを得るのですか?あなたがPHPを使用していると仮定すると、私が使用するコードは次のようになります。

function spGetVideosByLocation($locationid, $order, $orderby) 
{ 
    $sql = "SELECT * FROM Videos WHERE LocationId = '$locationid' ORDER BY $order $orderby"; 
    $result = mysql_query($sql) or die(mysql_error()); 
    //do whatever you need to to get results 
} 
+0

彼は[MySQLストアドプロシージャ] (http://dev.mysql.com/doc/refman/5.0/en/stored-routines-syntax.html)。 – dkarp

+0

ああ私の悪い。私はこれがまだ助けてくれることを願っています – blake305

+0

ブレイク、あまりにも簡単でしょう! :-)私はphp/zendフレームワークを使用していますが、私はMYSQLストアドプロシージャ/関数から呼び出す必要があります。 。 。 – TuK

関連する問題