こんにちは私は、複数のテーブルにデータを挿入する際に問題があります。私はプライマリキー&のテーブル内の参照キーを定義しているので、両方のテーブルに単一のクエリでデータを挿入したいのですが.......どのようにすればいいですか........... ????? ??複数のテーブルにデータを挿入する
答えて
あなたの言語は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. 複数のテーブルにSQL INSERTを挿入
- 4. 挿入複数のデータ
- 5. 挿入複数のデータ
- 6. 複数テーブルのレコードを新しいテーブルに挿入する
- 7. SQL CE 3.5複数のテーブルに挿入
- 8. mysql - 挿入後に他のテーブルにデータを挿入するトリガー
- 9. MySQLのテーブルにデータを挿入する
- 10. データをSQLテーブルに挿入
- 11. 1つのテーブルから別のテーブルにデータを挿入するステートメントを挿入
- 12. テーブルにデータを挿入する方法
- 13. テーブルにデータを挿入する
- 14. 複数のテーブルから挿入
- 15. つのテーブルに複数の行を挿入する
- 16. 複数の行をXMLデータベースのテーブルに挿入する
- 17. LINQ to SQL:複数のテーブルにテーブルを挿入
- 18. 複数のテーブルから1つのデータを挿入する方法
- 19. ASP.NETとSQL - 複数のテーブルにデータを挿入していますか?
- 20. ステージングテーブルから複数の関連テーブルにデータを挿入しますか?
- 21. 複数のデータをデータテーブルの列に挿入する方法は?
- 22. 複数のPostgreSQL行にデータを挿入する
- 23. PHP/MYSQL複数のテーブルを挿入/更新する方法
- 24. PHPをテーブルにデータを挿入
- 25. 複合オブジェクトを使用して複数のテーブルにデータを挿入する方法「Entity Framework 4.1」
- 26. Yii2複数のレコードを他のテーブルに挿入
- 27. SQL Serverのテーブルに複数の行を挿入
- 28. 複数行の挿入の挿入
- 29. mysqlテーブルの挿入を挿入する
- 30. Doctrine2&Symfony2単一フォームを複数のテーブルに挿入