
OracleのViewについてですが。。
‘あ行’という名前のテーブルと‘か行’という名前のテーブルがあるとします。
‘あ行’テーブルには‘あ’,‘い’,‘う’という列名があり、
‘か行’には‘か’,‘き’,‘く’,‘あ’,‘い’という列名があるとします。
以上の2つのテーブルから‘ひらがな’というViewを作りたいとします。
このViewの条件としては‘あ行’から‘あ’,‘い’をselectし、‘か行’からは‘あ行’と‘か行’のそれぞれの‘あ’列の項目が同じであるレコードから‘か’と‘あ’と‘い’をselectしてきます。この時‘あ’という列の項目内容は分かっていて、その項目が記載してあるレコードに‘い’の項目内容をupdateしたいとするとどのようにViewを書けばよいのでしょうか?あくまでもそれぞれのテーブルに直接‘い’項目を書くのではなくてViewにおいてUpdateで書きたいのですが。
No.1ベストアンサー
- 回答日時:
条件がもうひとつはっきりしないので、よく分かりませんが、取りあえず、亜行テーブルからは、全行を、か行テーブルからは、条件に合うもののみを持ってくるViewのSelect文は以下のようになると思います。
select か行.か,あ行.あ,あ行.い from あ行,か行 where あ行.あ=か行.あ(+)
「い」をUpdateしたい、ということですが、それはあ行テーブルの「い」でしょうか?それともか行テーブル?、両方?そのあたりがはっきりしないと分かりませんが、2つ以上のテーブルを結合させたViewに対し、Updateをかけるのは難しいと基本的に思っていただいたほうが良いかと思います。
どうしても、Updateをかけたいという場合の方法として、ひとつの案ですが、テンポラリテーブルを作ります。(「か」、「あ」、「い」列のあるもの)これに対し、あ行テーブルの変更などに対してのトリガー、か行テーブルに対しての変更に対するトリガー、テンポラリテーブルに対する変更を元テーブルに書き戻すためのトリガーを作成するれば、テンポラリテーブルをViewのように使うことができると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでテーブル名やクエリ名...
-
ACCESSで指定されたテーブルか...
-
Accessレコードの追加や変更が...
-
Accessでvlookupみたいなことは...
-
access テーブル内のレコード...
-
SQLで条件指定結合をしたいがNU...
-
Accessの追加クエリで既存のテ...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Accessでテーブルの値をテキス...
-
Access テキスト型に対する指定...
-
「直需」の意味を教えてください
-
ACCESS検索★ある文字を複数のフ...
-
エクセルグラフの凡例スペース
-
Accessで、固定アルファベット+...
-
主キーはオートナンバー型のID...
-
Accessクエリーで両方のテーブ...
-
DB2でREPLACEによる文字列の置換
-
日本語のテーブル名、カラム名...
-
Oracle 2つのDate型の値の差を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでテーブル名やクエリ名...
-
Accessでテーブルからテーブル...
-
Accessレコードの追加や変更が...
-
3つの表を1つに縦に連結する
-
2つのテーブルを比較して一致し...
-
Accessクエリでの、LIKE条件
-
ACCESSのSQLで数値型に変換する...
-
access テーブル内のレコード...
-
Accessでvlookupみたいなことは...
-
Accessの追加クエリで既存のテ...
-
SQLで条件指定結合をしたいがNU...
-
テーブル作成クエリで主キーを設定
-
ACCESSで指定されたテーブルか...
-
デザインビューで、連結式 を...
-
INSERT時にデータ登録とmaxの発...
-
AccessでのNULLのレコードの表...
-
ODBCで接続するとDBに変更/追加...
-
Accessでテーブルにパスワード...
-
ツリー構造をRDBで表現するには?
-
Accessで、複数のテーブルで随...
おすすめ情報