質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

1回答

463閲覧

ひとつのINSERT文で別々のテーブルに保存したい

sql_ga_kakenai

総合スコア5

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

1クリップ

投稿2021/08/20 09:27

前提・実現したいこと

java(Spring MVC)を利用してECサイトを構築中です。(※ですがSQLに絞った質問になります)

MySQL

1INSERT INTO payment (payment_date, payment_amount, payment_name) values (20210707, 1500, "太郎"); 2INSERT INTO payment_status (payment_status_id, status) values (1, 2); 3INSERT INTO payment_management (gap) values (0);

という3つのSQL文があります。
それぞれ違うテーブルに内容を保存するものになりますが、
DAOファイル内の記述を通してこのSQLを動作させる予定のため、これらを1つのSQL文にまとめたいです。

ですが、書き方がよく分かりません…。
SQLの書き方を教えてくれるサイトなどを見たのですが、恥ずかしながら理解度が足りずピンと来なかったです。

どのように書いたらよいかご教授お願いできませんでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2021/08/20 09:40

何のために「まとめたい」のですか? 異なるテーブルに異なる内容を保存する3つの動作(3行のSQL文)は、順に実行するしかないです(並列に一気に片づける訳にはいきません)。 質問者の「まとめたい」は、こういう意図なのではと感じたのですが、どうでしょう?
sazi

2021/08/20 09:48

関連したテーブルの情報を纏めて処理したいという事はあると思いますが、質問の内容は関連している様には思えず、そもそも、纏めて行う内容では無いのではないでしょうか。
m.ts10806

2021/08/20 09:57

要件違うならまとめるべきものではないと思います。
gentaro

2021/08/20 10:39

既に指摘されてるとおりだけども、根本的には「SQLとは何なのか」を基礎からお勉強されないと「理解度が足りず」の部分は一生解消されないでしょう。
sql_ga_kakenai

2021/08/23 02:06

遅くなりすみません。 「まとめたい」の意図はcoco_bauerさんの仰る通りです。 Spring MVCなのでDAOファイルにSQL文を書き、コントローラーで動かしてDBに保存するものを構築したかったのですが、SQLごとにコードを書こうとするとどうしても同じような処理の長めの処理がいくつか並ぶ事になってしまうため、それがDAOの可読性を下げると思ったのでSQLを1つにまとめる方法がないか探していました。 順番に実行するしかないとの事なので、個別に書いて解決させることにします。ありがとうございました。
guest

回答1

0

ベストアンサー

普通に3つ実行するか、プロシージャでまとめ登録できるようにすればいいでしょう

投稿2021/08/20 09:37

yambejp

総合スコア116736

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sql_ga_kakenai

2021/08/23 02:08

ありがとうございます。今回はSQLごとに処理を個別に書いて順番に実行させるようにします。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問