• 締切済み

複数テーブルにある個別フィールドを一度で更新

VB.NET2005で開発しております。 複数テーブルにある個別フィールドを一度で更新したいと考えておりますが、JOIN等使用してみたところ上手く行かず困っております。 一度で複数テーブルを更新する事は可能でしょうか? 更新する  更新する テーブル名 フィールドと値 共通キー table1   coulmn2 = A   coulmn1 table2   coulmn3 = B   coulmn1 table3   coulmn4 = C coulmn1 -------------------------------- connect = Me.DbConnect command = connect.CreateCommand command.CommandText = "UPDATE TABLE1, TABLE2 ・・・" da = factory.CreateDataAdapter() da.SelectCommand = command ds = New DataSet da.Fill(ds) conn.Close()

みんなの回答

回答No.2

>一度で複数テーブルを更新する事は可能でしょうか? 可否については、可能な場合もある、という回答になります。 オラクルも、「更新可能なビュー」に対する更新機能を持っていますので、 更新可能なインラインビューが書けるようなケースでは、更新可能となります。 更新可能なビューには、プライマリキーを使った内部結合であること等の条件が ありますので、必ずしも3表の同時更新が出来るとは限りません。

すると、全ての回答が全文表示されます。
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

INSERTならば手がありますが、UPDATEはできないと思います。 それだからトランザクションモードという考え方があるのでしょう。 PL/SQLを使わずにVBからやる場合は、Transactionを維持して3回UPDATEすることをお勧めします。  #それにしてもこのコーディングは新しいですね   通常はExecuteNonQueryだと思いますが

すると、全ての回答が全文表示されます。

関連するQ&A