C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: oracleのviewのパラメータ


(過去ログ 46 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■24672 / inTopicNo.1)  oracleのviewのパラメータ
  
□投稿者/ 気合 (23回)-(2008/09/07(Sun) 22:51:50)

分類:[データベース全般] 

ASP.NET、C#開発です。
オラクル10gでoracleclientです。
viewに値をパラメータとして渡すことは可能ですが、テーブル名などをそのつど変えて渡すことは可能なのでしょうか

可能ならば方法を教えてください。値を渡す時と同じで試すとうまくいきませんでした。
引用返信 編集キー/
■24673 / inTopicNo.2)  Re[1]: oracleのviewのパラメータ
□投稿者/ やじゅ (605回)-(2008/09/08(Mon) 02:55:57)
やじゅ さんの Web サイト
No24672 (気合 さん) に返信
> ASP.NET、C#開発です。
> オラクル10gでoracleclientです。
> viewに値をパラメータとして渡すことは可能ですが、テーブル名などをそのつど変えて渡すことは可能なのでしょうか
>

パラメータによるテーブル名の変更は出来ません。

ただ、動的SQLにすればテーブル名の変更は可能です。
動的SQLについて調べてみてください。
引用返信 編集キー/
■24681 / inTopicNo.3)  Re[1]: oracleのviewのパラメータ
□投稿者/ はつね (845回)-(2008/09/08(Mon) 10:58:38)
はつね さんの Web サイト
No24672 (気合 さん) に返信
> ASP.NET、C#開発です。
> オラクル10gでoracleclientです。
> viewに値をパラメータとして渡すことは可能ですが、テーブル名などを
> そのつど変えて渡すことは可能なのでしょうか

つまり、同じ名前のVIEWで、そのVIEWの中でSELECTしているテーブルを変更したいって事でしょうか。
不可能です。動的SQL文を使ったとしてもVIEWを使ってはできません。

VIEWを再定義してテーブルを結果的に切り替えるという方法もありますが、利用者ごとにVIEWを
分けてあげないとAさんがブラウザでアクセスしている最中にBさんがアクセスするとVIEWの定義
が変わってしまうなんてことになりかねないので事実上不可能です。

そもそも何でVIEWの先のテーブル切り替えたいのですか?


VIEWではなくストアドプロシージャなどを定義してその中で動的SQL文を使うという方法もありますが、
それ以前の問題として解決のアプローチ(対象テーブルを変える)じゃないアプローチがあるような
気がします。


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -