This week's book giveaway is in the Design forum.
We're giving away four copies of Design for the Mind and have Victor S. Yocco on-line!
See this thread for details.
Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

How Do I Insert records in multiple tables thru 1 SQL Query

 
Farooq Ali
Ranch Hand
Posts: 43
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello All
I want to insert a new record but the fields are spread on 3 different tables that is the entries in one table are linked to the other tables. Is there a way I can insert the data with one Insert query???
Farooq
 
john_guthrie
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Short answer: no
The standard SQL insert statement allows for only one table. Having said that, make sure you use a transaction to insert into the three tables (with, alas, three insert statements).
 
Kashif Qayyum
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Perhaps a better way to do this than have 3 update requests and a trans_start and trans_commit is to write a single stored procedure on the database, and execute it with a PreparedStatement.
This has a LOT of performance benefit. For one, you have less remote calls from the Java app to the DB. Secondly, the stored procedure is pre-compiled and can be quickly executed. Executing raw SQL from JDBC suffers from having to compile the query each time, only to throw it away.
If you're executing the same query with different parameters repetedly, you should definitely be using PreparedStatements.
The above is from my work with oracle. Not sure how it applies to other systems, though I suspect it should be the same.
- kashif Q.
 
Farooq Ali
Ranch Hand
Posts: 43
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks ppl
Now Can somebody shed a light on stored procedures for MS SQL server??
Farooq
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic