OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

OracleのViewの作り方

  • すぐに回答を!
  • 質問No.187908
  • 閲覧数147
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 50% (7/14)

OracleのViewについてですが。。
‘あ行’という名前のテーブルと‘か行’という名前のテーブルがあるとします。
‘あ行’テーブルには‘あ’,‘い’,‘う’という列名があり、
‘か行’には‘か’,‘き’,‘く’,‘あ’,‘い’という列名があるとします。
以上の2つのテーブルから‘ひらがな’というViewを作りたいとします。
このViewの条件としては‘あ行’から‘あ’,‘い’をselectし、‘か行’からは‘あ行’と‘か行’のそれぞれの‘あ’列の項目が同じであるレコードから‘か’と‘あ’と‘い’をselectしてきます。この時‘あ’という列の項目内容は分かっていて、その項目が記載してあるレコードに‘い’の項目内容をupdateしたいとするとどのようにViewを書けばよいのでしょうか?あくまでもそれぞれのテーブルに直接‘い’項目を書くのではなくてViewにおいてUpdateで書きたいのですが。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル10

ベストアンサー率 42% (79/186)

条件がもうひとつはっきりしないので、よく分かりませんが、取りあえず、亜行テーブルからは、全行を、か行テーブルからは、条件に合うもののみを持ってくるViewのSelect文は以下のようになると思います。
select か行.か,あ行.あ,あ行.い from あ行,か行 where あ行.あ=か行.あ(+)

「い」をUpdateしたい、ということですが、それはあ行テーブルの「い」でしょうか?それともか行テーブル?、両方?そのあたりがはっきりしないと分かりませんが、2つ以上のテーブルを結合させたViewに対し、Updateをかけるのは難しいと基本的に思っていただいたほうが良いかと思います。

どうしても、Updateをかけたいという場合の方法として、ひとつの案ですが、テンポラリテーブルを作ります。(「か」、「あ」、「い」列のあるもの)これに対し、あ行テーブルの変更などに対してのトリガー、か行テーブルに対しての変更に対するトリガー、テンポラリテーブルに対する変更を元テーブルに書き戻すためのトリガーを作成するれば、テンポラリテーブルをViewのように使うことができると思います。
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ