Hallo ich habe ein Problem, Daten in mehrere Tabellen einzufügen. Ich habe Primärschlüssel definiert & Referenzschlüssel in Tabellen jetzt möchte ich Daten in beiden Tabellen in Einzelabfrage einfügen ....... Wie kann ich das tun ........... ????? ??Daten in mehrere Tabellen einfügen
Antwort
Unterstützt Ihre Sprache das INSERT ALL-Konstrukt? Wenn ja, ist das der beste Weg, dies zu tun. In der Tat ist es der einzige Weg. Ich postete ein Beispiel dieses Konstrukts in another SO thread (diese Beispielssyntax kommt von Oracle SQL).
Die andere Option besteht darin, eine gespeicherte Transaktionsprozedur zu erstellen, die einen Datensatz in die Primärschlüsseltabelle einfügt, gefolgt von einem Datensatz in der referenzierenden Tabelle.
Dafür sind Transaktionen vorgesehen. Standard-SQL lässt nicht zu, dass eine einzelne Anweisung gleichzeitig in mehrere Tabellen eingefügt wird. Der richtige Weg, es zu tun ist:
-- begin transaction
insert into table 1 ...
insert into table 2 ...
commit
Und 1 Ihrer Wahl, das zu tun Verwendung ORM ist (wie Hibernate, NHibernate) die Sie Ihr Objekt machen und setzen andere Beziehung zu ihm und schließlich nur das Hauptobjekt speichern , wie:
A a;
B b;
C c;
a.set(b);
a.set(c);
DAO.saveOrUpdate(a);
müssen Sie Ihre DAO.saveOrUpdate beachten (a); Codezeile nur mit Hibernate arbeiten, aber es Daten in Tabelle 3 A, B, C.
Ihre Frage ist nicht genau klar, was das besondere Problem ist einzufügen. Ich kann drei Möglichkeiten sehen:
1. Sie wollen in zwei Tabellen mit einer einzigen INSERT-Anweisung einfügen
2. Sie möchten zwei Einsätze, aber ohne etwas anderes in der Lage zu sein 'in die Mitte zu bekommen'
3. Sie wollen in eine Tabelle einfügen, erhalten dann den Primärschlüssel in die zweite Tabelle einfügen
die Antwort auf 1. ist einfach:
You can't.
Die Antwort auf 2. ist zu einfach:
BEGIN TRANSACTION
INSERT INTO <table1> (a,b,c) VALUES (1,2,3)
INSERT INTO <table2> (a,b,c) VALUES (1,2,3)
COMMIT TRANSACTION
Die Antwort auf 3 ist mehrere Möglichkeiten. Jeder hängt davon ab, was genau Sie tun möchten. Höchstwahrscheinlich möchten Sie SCOPE_IDENTITY() verwenden, aber Sie können auch @@identity und IDENT_CURRENT() nachschlagen, um die verschiedenen Optionen und Komplexitäten zu verstehen.
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. Einfügen von Daten in mehrere Tabellen
- 2. mybatis Einfügen in mehrere Tabellen
- 3. Einfügen von Daten in mehrere Tabellen mit einer SQL-Abfrage
- 4. Einfügen von Daten in mehrere Tabellen im Entity-Framework
- 5. Html-Tabellen: Einfügen von Daten
- 6. Einfügen in mehrere Tabellen mit WCF-Transaktionen
- 7. Mehrere Tabellen einfügen von ASP.net MVC Seite
- 8. Einfügen von Daten in SQL-Tabellen
- 9. Einfügen von Daten in Tabellen durch Vergleichen
- 10. oracle mehrere Zeilen in mehrere Tabellen mit einer Einfügeabfrage einfügen
- 11. Effizient Einfügen in mehrere Ebenen übergeordneten Kind Tabellen
- 12. IF-Funktion in Oracle zum Einfügen von Daten in Tabellen
- 13. Laravel Einfügen in zwei Tabellen
- 14. Doppelte Zeilen über mehrere Tabellen beim Einfügen in MySQL
- 15. Entity Framework - Einfügen in mehrere Tabellen mit Fremdschlüssel
- 16. Einfügen in mehrere Tabellen mit PHP mit LAST_INSERT_ID()
- 17. Einfügen von Daten in mehrere SQL-Tabellen aus einem einzigen Formular
- 18. Einfügen von Daten in 3 Tabellen gleichzeitig mit Postgres
- 19. Einfügen von mehreren Daten aus anderen Tabellen in Codezeichen
- 20. Einfügen von Daten in Tabelle abhängig von 2 anderen Tabellen
- 21. Einfügen von Daten in zwei Tabellen mit PHP und codeigniter
- 22. Einfügen von Daten in Tabellen, die mit Fremdschlüssel verknüpft sind
- 23. Grabbing Daten aus mehreren Tabellen und Einfügen in neue Tabelle
- 24. golang - mysql Mehrere Daten gleichzeitig einfügen?
- 25. Wie man Daten in mehrere Tabellen mit Fremdschlüsselabhängigkeiten einfügt (MySQL)
- 26. In Eltern-Kind-Tabellen in SQL Server einfügen
- 27. SQL INSERT INTO mehrere Tabellen
- 28. Join mehrere Tabellen in SQL
- 29. Wie man Daten in mehrere Tabellen in Yii einfügt
- 30. Bild in Google Text & Tabellen-Menü einfügen