0

この正しい構文を取得する方法がわかりません。

したがって、テーブル User.Persona をループして Id 列を取得するカーソルがあります。したがって、各 Id は、カーソルの反復ごとに変数cur_idに格納されます。また、各 Persona Id は Persona Id テーブルに対応します。たとえば、Persona ID 1 には Persona1 テーブルがあり、Persona ID 2 には Persona2 テーブルがあります。

そのカーソルで、テーブル SELECT....FROM @Persona# WHERE... を呼び出したいと思います。

どうすればいいですか?

最初にテーブル名の文字列を変数に格納しようとしました:

DECLARE cur_table VARCHAR(25);

そしてカーソル内:

SELECT CONCAT('persona', @cur_id) INTO @cur_table
SELECT .... FROM **@cur_table** WHERE...

ただし、FROM @cur_tableはエラーをスローし、現在のテーブル名を保持する文字列を参照できません。

カーソル内で変化するテーブル名を参照する方法はありますか?

ありがとう!

4

0 に答える 0