こんにちは私は、複数のテーブルにデータを挿入する際に問題があります。私はプライマリキー&のテーブル内の参照キーを定義しているので、両方のテーブルに単一のクエリでデータを挿入したいのですが.......どのようにすればいいですか........... ????? ??複数のテーブルにデータを挿入する
答えて
あなたの言語はINSERT ALL構造をサポートしていますか?もしそうなら、それがこれを行う最善の方法です。実際それが唯一の方法です。 another SO threadにこの構文の例を掲載しました(この例の構文はOracle SQLから提供されています)。
もう1つの方法は、プライマリキーテーブルにレコードを挿入した後、参照テーブルにレコードを挿入するトランザクションストアドプロシージャを構築することです。
これはトランザクションが意味するものです。標準SQLでは、一度に1つの文を複数の表に挿入することはできません。それを行うための正しい方法は次のとおりです。お好みの
-- begin transaction
insert into table 1 ...
insert into table 2 ...
commit
そして、1それを行うには、あなたのオブジェクトを作成し、それを他の関係を設定します(Hibernateは、NHibernateのような)ORMを使用して、最終的にはちょうどメインオブジェクトを保存しています次のようになります。
A a;
B b;
C c;
a.set(b);
a.set(c);
DAO.saveOrUpdate(a);
あなたはDAO.saveOrUpdate(a)に気付かなければなりません。コードの行だけ休止状態で動作しますが、それは3テーブルA、Bにデータを挿入、C.
あなたの質問は、特定の問題が何であるかについて、正確に明確ではありません。 3つの可能性があります:
1. 1つのINSERTステートメントで2つのテーブルに挿入したい場合
2つの挿入を行いたいが、他に何も得られない場合は
3。あなたが一つのテーブルに挿入する、2番目のテーブル
1への答えは簡単であるに挿入する主キーを取得:
You can't.
2への答えは単純すぎる:
BEGIN TRANSACTION
INSERT INTO <table1> (a,b,c) VALUES (1,2,3)
INSERT INTO <table2> (a,b,c) VALUES (1,2,3)
COMMIT TRANSACTION
3の答えがあるが、いくつかの可能性があります。それぞれはあなたがしたいことに正確に依存します。ほとんどの場合、SCOPE_IDENTITY()を使用しますが、さまざまなオプションと複雑さを理解するには、@@identityとIDENT_CURRENT()を参照することもできます。
BEGIN TRANSACTION
INSERT INTO <dimension_table> (name)
VALUES ('my new item')
INSERT INTO <fact_table> (item_id, iteam_value)
VALUES (SCOPE_IDENTITY(), 1)
COMMIT TRANSACTION
- 1. 複数のテーブルにデータを挿入
- 2. 複数のテーブルにデータを挿入
- 3. Laravel複数のテーブルと複数のデータを挿入する
- 4. 複数のファイルから複数のテーブルにデータを挿入
- 5. PostgreSQL - 複数のテーブルに同時にデータを挿入する
- 6. 複数のテーブルに挿入
- 7. C#/ SQL Server:MVVMは複数のテーブルにデータを挿入します
- 8. 他のテーブルから複数のデータをコードシニターに挿入
- 9. LaravelデータベースにテーブルHTMLから複数のデータを挿入
- 10. ワンクリックで複数のテーブルにデータを挿入
- 11. テーブルにデータと複数の画像を挿入[PHP]
- 12. 複数のテーブルにSQL INSERTを挿入
- 13. 挿入複数のデータ
- 14. 挿入複数のデータ
- 15. 複数テーブルのレコードを新しいテーブルに挿入する
- 16. SQL CE 3.5複数のテーブルに挿入
- 17. 複数のリストボックスのすべてのデータをデータベースのテーブルに挿入するC#
- 18. mysql - 挿入後に他のテーブルにデータを挿入するトリガー
- 19. 複雑なハイブのテーブルにCSVデータを挿入する
- 20. 他のテーブルにデータを挿入する
- 21. MySQLのテーブルにデータを挿入する
- 22. mysqlの複数のテーブルに大量のデータを挿入する方法
- 23. 複数のテーブルに同じ変数と値を挿入する
- 24. ASP内の複数のテーブルにデータを挿入する方法。 NET MVC。エンティティフレームワーク
- 25. 複数のSQLテーブルに単一の書式でデータを挿入する
- 26. 1つのソースから複数のテーブルにデータを挿入する
- 27. MYSQL innerjoin複数のテーブルを挿入
- 28. 複数の行で別のテーブルが挿入されている場合のPostgresテーブルへのデータの挿入
- 29. テーブルにデータを挿入
- 30. データをSQLテーブルに挿入