• ベストアンサー

ビューで引数を使いたい

4つのテーブルのいずれかをアクセスしますが、 select文はひとつでwhereでテーブルを指定したいので、  例:select * from ビュー where table_no=1 とかで、table_noの値でアクセスするビューは 作れますか? ※この例の場合、select * from table1が実行したい。 4つのテーブルは全て同じ構造で、 データが違うのみです。

質問者が選んだベストアンサー

  • ベストアンサー
  • chezusao
  • ベストアンサー率55% (5/9)
回答No.2

ビューでは不可能だと思います。 同じ様なアクセス方法を行いたいのであれば、 テーブル値を返すユーザー定義関数を作成する方法があるかと思います。構造は同じと言う事なので、1つの関数で済むと思いますし。 例:Select * From ユーザー定義関数(1~4のパラメータ) 上記例の様な使い方が可能です。

その他の回答 (1)

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.1

こんちは。 多分、出来ないって回答でいいとは思うんですが。。。 ビューはそれだけで完結しているオブジェクトなので、やりたい場合は、ストアドなどを使う方がよいようです。 単純に、ストアドにテーブルナンバー渡して、ビューを呼び出す。じゃダメなんでしょうかね?? 自分だったら、あらかじめ、ビューの1~4を作っておいて、それぞれテーブル1~4をselectするビューにしておき ストアドやらプログラムの方から、パラメータを読み込んでどのビューを使用するか判断させますかね。。。

関連するQ&A