こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ビューで引数を使いたい

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

4つのテーブルは全て同じ構造で、
データが違うのみです。

投稿日時 - 2007-11-27 11:01:32

QNo.3550618

困ってます

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

ビューでは不可能だと思います。

同じ様なアクセス方法を行いたいのであれば、
テーブル値を返すユーザー定義関数を作成する方法があるかと思います。構造は同じと言う事なので、1つの関数で済むと思いますし。

例:Select * From ユーザー定義関数(1~4のパラメータ)

上記例の様な使い方が可能です。

投稿日時 - 2007-11-27 13:08:05

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

こんちは。

多分、出来ないって回答でいいとは思うんですが。。。


ビューはそれだけで完結しているオブジェクトなので、やりたい場合は、ストアドなどを使う方がよいようです。

単純に、ストアドにテーブルナンバー渡して、ビューを呼び出す。じゃダメなんでしょうかね??
自分だったら、あらかじめ、ビューの1~4を作っておいて、それぞれテーブル1~4をselectするビューにしておき
ストアドやらプログラムの方から、パラメータを読み込んでどのビューを使用するか判断させますかね。。。

投稿日時 - 2007-11-27 11:15:16

あなたにオススメの質問