私のDB内のいくつかのテーブルに対して同じ手順を実行する必要があります。MySQL:いくつかのテーブル用に1つのストアドプロシージャ
DECLARE tableIt CURSOR FOR select id from table where column=inputParam ;
table
が手順で扱うテーブルです:poblemは、その手順は以下の行が含まれていることです。そして、そのテーブル名を動的にする、つまり入力パラメータから読み込む方法を見つけることができません。
今は1つの単語(表の名前)だけを区別する8種類の手順(各表に1つずつ)があります。 これは、手順を8回変更する必要があるため、実際には苦痛です。
CURSORのselect文をパラメータ化して、1つのプロシージャしか持てないのですか?
良いアイデアは、私はしかし、一時テーブルを使用する方が良いと思いますが、その使用している場合は何のスレッドの安全性は存在しないので、ビューがグローバルオブジェクトです( 2つの接続が異なるテーブルの同じビューを作成しようとしている可能性があります) – GetFree
一時テーブルの問題は、挿入され、処理が遅くなることがありますが、この一時テーブルへの同時アクセスで問題が発生することがあります。また、あなたのjava/perl/phpコードからそれを起動させないのは簡単なようですが、動的クエリを構築することができます。 – isobar